JavaScript严格模式分析
2. 静态绑定,javascript的动态绑定收到了一些限制,如with语句不再允许使用(with语句是在执行时候runtime才绑定属性、方法到哪个对象)。
3. 增加eval()作用域
-
普通模式下:2种,全局作用域、函数作用域;此时的eval的作用域取决于它处于全局作用域下还是函数作用域下;
-
严格模式下:3种,全局作用域、函数作用域、eval作用域;
4. this不再指向全局对象
意味着:当使用构造函数的时候,当没有用new关键字,此时的this将不再默认指向全局对面window,而会报错;
5. 禁止在函数内部遍历调用栈
6. 严格模式下无法删除变量。只有configurable设置为true的对象属性,才能被删除。
7. 正常模式下,对一个对象的只读属性进行赋值,不会报错,只会默默地失败。严格模式下,将报错。
。。。后续更新中
更多内容:请参考阮一峰老师的博客javascript严格模式详解