js--严格模式 'use strict'

来源:互联网 发布:中国人长相 知乎 编辑:程序博客网 时间:2024/05/18 00:58

use strict:严格模式

除了正常运行模式,ECMAScript5添加了第二种运行模式:严格模式,这种模式让js在更严格的条件下运行。

使用严格模式的区别

1.消除js语法的一些不合理,不严谨之处,比如不能用with,也不能在意外的情况下给全局变量赋值

2.消除代码中的一些不安全之处,保证代码的安全

比如:禁止this关键字指向全局对象

function f(){    return !this;  }  // 返回false,因为"this"指向全局对象,"!this"就是false  function f(){    "use strict";    return !this;  }  // 返回true,因为严格模式下,this的值为undefined,所以"!this"为true。

因此,使用构造函数时,如果忘了加new,this不再指向全局对象,而是报错。

function f(){    "use strict";    this.a = 1;  };  f();// 报错,this未定义

3.提高编译器效率,增加运行速度

4.为未来新版本的Javascript做好铺垫

可参考:
http://blog.csdn.net/canpark/article/details/45126173

0 0