JavaScript严格模式(strict mode)在严格条件下运行
使用"use strict"指令在ECMAScript5中新增
不是语句,是一个字面量表达式,在旧版本中会被忽略。
目的是指定代码在严格条件下执行。严格模式下不能使用未声明的变量。
支持严格模式的浏览器:Internet Explorer 10 +、 Firefox 4+ Chrome 13+、 Safari 5.1+、 Opera 12+。
严格模式通过在脚本或函数的头部添加 use strict; 表达式来声明。
"use strict";
myFunction();
function myFunction() {
y = 3.14; // 报错 (y 未定义)
}
总结:
1.不允许使用未声明的变量 。
2.不允许删除变量、对象、函数。
3.不允许变量重名。
4.不允许使用8进制、不允许使用转义字符、不允许对只读属性复制
5.不允许对一个使用getter()方法读取的属性进行赋值。
6.不允许删除一个不允许删除的属性。
7变量名不允许使用"eval"、"arguments"
8.在作用域eval()创建的变量不能被使用
9.禁止this关键字指向全局对象,如果不加new,就会报错。
保留关键字。
implements、interface、let、package、private、protected、public、static
yield。