javascript 严格模式(strict mode)即在严格的条件下运行。
use strict
严格模式下你不能使用未申明的变量
"use strict" 指令只运行出现在脚本或函数的开头。
使用严格模式的意义:
消除代码运行的一些不安全之处,保证代码运行的安全;
提高编译器效率,增加运行速度;
为未来新版本的Javascript做好铺垫。
严格模式的限制
不允许使用未声明的变量:
不允许删除变量或对象。
不允许删除函数。
不允许变量重名:
不允许使用八进制:
不允许使用转义字符:
不允许对只读属性赋值:
不允许对一个使用getter方法读取的属性进行赋值
不允许删除一个不允许删除的属性:
变量名不能使用 "eval" 字符串:
变量名不能使用 "arguments" 字符串:
不允许使用以下这种语句:
"use strict";
with (Math){x = cos(2)}; // 报错
with (Math){x = cos(2)}; // 报错
由于一些安全原因,在作用域 eval() 创建的变量不能被调用: