严格模式是ES5引入的,更好的将错误检测引入代码的方法。顾名思义,使得JS在更严格的条件下运行。
变量必须先声明,再使用
functiontest(){
"use strict";
foo='bar';// Error
}
不能对变量执行delete操作
var foo="test";
functiontest(){}
deletefoo;//
Errordeletetest;//
Errorfunctiontest2(arg){
deletearg;// Error
}
对象的属性名不能重复
{foo:true,foo:false}// Error
禁用eval()
函数的arguments参数
setTimeout(functionlater(){// do stuff...setTimeout( later,1000);},1000);