Javascirpt的strict模式

一直以来,Javascript 松散灵活的语法饱受争议。 于是,ECMAScript 5.0 定义中引入了strict mode,使Javascript解释器可以用"严格"的语法来解析代码,以帮助开发人员发现错误。IE 10 开始支持strict mode。


开启strict mode很简单,在代码的开头加入

"use strict";

这样很巧妙地兼容了那些不支持strict mode老的浏览器,不会报错。
 
 
使用 strict mode 有以下几个好处:

防止意外定义的全局变量
"use strict";
x = 5; // 没有事先声明,会报错

取消this值的自动转换
window.hi= "Hi";

function sayHi() {
    alert(this.hi); // 报错
}

防止重复定义
var someObject = {
    prop: "test",
    prop: "test2"  //报错
};

此外,strict mode 还去掉了对with 语句的支持; eval 中声明的变量也不会在包含域中创建
最后,建议大家开始在JS代码中使用strict mode,更早发现隐藏的错误。
 
 

你可能感兴趣的:(JavaScript,浏览器,IE)