ECMAScript的严格模式

严格模式是ES5提出的更严格的js语法标准,修正了一些不合理的语法,增强了错误检查。

 

代码使用严格模式的方法:

在函数内部开头'use strict'; 函数将以严格模式执行。

在文件开头全局作用域下'use strict'; 整个代码将以严格模式执行。

 

严格模式相比之前有什么主要区别:

1.不允许使用width

2.不加var声明变量将报错

3.arguments是静态副本,不会改变参数(引用类型的参数除外,这与引用类型本身有关)

4.delete 参数将报错

   delete 不可配置的属性将报错(Object.create方式创建的对象属性)

   修改不可写的属性将报错(Object.create方式创建的对象属性)

5.对象的属性名重复将报错

6.许使用8进制数将报错

7.eval,arguments变成了关键字

8.eval拥有独立作用域

9.一般的函数调用this指向window的情况变为this指向null

10.apply/call传入null/undeined时,this不指向window,指向null/undeined

11.arguments.caller和arguments.callee被禁用

 

posted @ 2016-03-25 10:44  海绵小猪  阅读(206)  评论(0编辑  收藏  举报