标识符(identifier)
指的是用来识别各种值的合法名称。最常见的标识符就是变量名,以及函数名。JavaScript 语言的标识符对大小写敏感,所以a和A是两个不同的标识符。
-
标志符命名规则:
- 第一个字符可以是任意Unicode字母(可以是英文字母和其他语言的字母),以及美元符号($)和下划线 _
- 第二个字符及后面的字符,除了Unicode字母、美元符号和下划线,还可以是数字0-9
- 中文也是合法的标识符
-
以下都是正确的:
$ 是合法的标识符
_ 是合法的标识符
var _ = 1 是合法语法
var $ = 1 是合法语法
var _0_ = 是合法语法
var 变量 = 2;
图片的onerror事件
img.onerror =function() {
//这里写图片加载失败的操作
}
js是动态类型语言
即变量的类型没有限制,变量可以随时更改类型。
```
var a = 'aaa';
a = 1;
```
变量提升
js引擎的的工作方式是先解析代码,获取所有被声明的变量,然后再一行一行地运行。这造成的结果就是所有的变量的声明语句,都会被提升到代码的头部,这就叫做变量提升。
switch
switch (fruit) {
case "banana":
// ...
break;
case "apple":
// ...
break;
default:
// ...
}
1.注意:每个case代码内部的break都不能少,否则会接下去执行下一个case代码块而不是跳出switch结构
2. switch语句和case语句部分都可以使用表达式,switch语句后面的表达式与case语句后面的表达式比较运行结果时,采用的是严格相等运算符'===',而不是相等运算符'==',这意味着比较时不会发生类型转换
js中的&& ||
js中a&&b 或者 c||d 这种类型的值基本上不会是 true或者false, 他的值要不是 a或者b 或者c 或者d 一般是现取,而不会再产生一个新的值
如果是&& 它的值就是它遇到的第一个falsy值
eg:
找到falsy值之后,后面的就不看了
1&&0&&console.log(3)
console.log(3)不会执行,因为遇到0的时候,就直接返回0了,
console.log(3)的值是undefined ,因为他没有返回值的,他只是打印出3而已,
如果没有falsy值,就返回最后一个真值
1&&2&&3
//结果是3
|| 只要有一个真值,整个或链条就是真的
找到真值之后,后面的就不看了