什么是 “use strict”? 使用它的好处和坏处是什么?

2017-06-13  本文已影响665人  西瓜炒苦瓜

严格模式是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);

禁用with(){}

不能修改arguments

不能在函数内定义arguments变量

不能使用arugment.caller和argument.callee。因此如果你要引用匿名函数,需要对匿名函数命名。

上一篇 下一篇

猜你喜欢

热点阅读