JavaScript 作用域
1、变量在函数内声明,变量为局部作用域。
局部变量:只能在函数内部访问。
2、变量在函数外定义,即为全局变量。
全局作用域: 网页中所有脚本和函数均可使用。
3、如果在函数内的变量没有声明(没有使用关键字var),则视为全局变量
JavaScript 事件
HTML 事件是发生在 HTML 元素上的事情。
当在 HTML 页面中使用 JavaScript 时, JavaScript 可以触发这些事件。
常见的HTML事件
下面是一些常见的HTML事件的列表:
事件 | 描述 |
onchange | HTML 元素改变 |
onclick | 用户点击 HTML 元素 |
onmouseover | 用户在一个HTML元素上移动鼠标 |
onmouseout | 用户从一个HTML元素上移开鼠标 |
onkeydown | 用户按下键盘按键 |
onload | 浏览器已完成页面的加载 |
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<button οnclick="getElementById('demo').innerHTML=Date()">现在的时间是?</button>
<p id="demo"></p>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<button οnclick="this.innerHTML=Date()">现在的时间是?</button>
</body>
</html>
上面两个例子都是打印当前时间值,但是第一个是在段落中打印,第二个是在按钮上显示的,如果我在例子中加一个
<p οnclick="this.innerHTML=Date()">点击这里</>
当点击这个段落时,也会出现当前时间日期。
JavaScript 字符串
你可以通过索引位置来获取字符,就像在一个数组中获取元素一样
var carname = "abcdefg";
//var carname = 'abcdefg';
var character = carname[0];
如果在字符串中需要用到引号的,注意不要与外面的引号类型一样:
var answer = "It's alright";
var answer = "He is called 'Johnny'";
var answer = 'He is called "Johnny"';
也可以用转义字符:
var x = 'It\'s alright';
var y = "He is called \"Johnny\"";
常用的转义字符有下面几种:
\' | 单引号 |
\" | 双引号 |
\\ | 反斜杠 |
\n | 换行 |
\r | 回车 |
\t | tab(制表符) |
\b | 退格符 |
\f | 换页符 |
字符串长度
小源认为这个用法和C++、java中的String类很像
var txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
var sln = txt.length;
有的同学可能有疑问了,那么如果字符串中有引号或者转义字符的话,它的长度会不会变化呢,一个引号是一个字符这个很清楚,但如果是引号的转义字符的话,\'和\",应该算一个还是两个字符呢。
小源刚刚也想到了这个问题,有些不确定就去亲自试了试,都是一个字符,亲测有效,嘿嘿。
字符串可以是对象
果然不出小源所料,后面就看到了类似String类的用法,字符串可以是对象。
var s1 = "John"
var s2 = new String("John")
这里补充一个运算符,也是小源刚刚了解到的,===,绝对相等,必须数据类型和数值都相等。
typeof s1;typeof s2;来判断,
typeof会返回它后面这个变量的数据类型。
相对的,也有!==运算符,这个是不绝对相等,数值和类型有一个不想等,或两个都不想等。
字符串之间也可以进行相加运算,可以将两个字符串连接在一起。
再往后就是一些逻辑运算,条件,循环等语句,这一块和其他编程语言大同小异,小源为了节省时间,就不详细写出来了。