首页 理论教育严格模式的限制及应用

严格模式的限制及应用

【摘要】:静态绑定是指属性和方法在预编译阶段决定所属对象,而不是在运行时决定。在对象创建时就明确它拥有的属性和函数,属于静态绑定。对于初学者,笔者建议默认增加严格模式指令,结合浏览器控制台查看提示信息,这样做更加容易理解JavaScript。

严格模式增加了一些限制,读者在学习完全部的JavaScript内容之后,再来理解这些限制会更加深刻,此处只简单列举严格模式的限制:

1.变量必须先声明后使用;

2.不允许参数重名;

3.不允许属性重名;

4.不允许使用arguments作为标识符;

5.不允许使用delete操作符删除变量;

6.不允许使用delete操作符删除函数;

7.不允许删除不能删除的属性,调用delete直接报错而不是返回false;

8.不允许使用八进制;

9.不允许使用转义序列;(www.chuimin.cn)

10.不允许修改只读属性;

11.不允许this指向全局对象;

12.不允许在函数内部调用function.arguments、function.caller、arguments.callee;

13.增加了与类相关的几个关键字;

14.函数必须声明在作用域顶部,不能在控制语句内使用function声明具名函数;

15.不允许使用with动态绑定,必须使用静态绑定;

16.增加eval安全作用域。

静态绑定是指属性和方法在预编译阶段决定所属对象,而不是在运行时决定。在JavaScript中声明对象之后,可以增加、删除、改变对象的属性和函数,这些属性和函数是在对象创建之后绑定在一起的,属于运行时绑定。在对象创建时就明确它拥有的属性和函数,属于静态绑定。

对于初学者,笔者建议默认增加严格模式指令,结合浏览器控制台查看提示信息,这样做更加容易理解JavaScript。