字面量表达式语句
"use strict";显式声明:
隐式声明(默认开启):
开启严格模式后
| 分类 | 说明 | 示例 |
|---|---|---|
| 对象字面量声明 | 不许对象字面量声明中存在相同的属性名 | |
| 函数声明 | 不许出现相同的参数名 | |
| 赋值运算 | eval 和 arguments 标识符不能声明或重写 | |
| delete | 不许 delete 掉 eval、arguments 和所有显式声明的变量 | |
| 标识符 | 声明的标识符不能使用关键字和保留字 | |
| with | 不能使用 with |
开启严格模式后
function f1(x) {
"use strict";
arguments[0] = 100;
return x;
}
function f2(x) {
arguments[0] = 100;
return x;
}
f1("a"); // 严格模式下返回'a'
f2("a"); // 非严格模式返回 100`TODO