严格模式的意义是什么?
- 消除Javascript语法的一些不合理、不严谨之处,减少一些怪异行为;
- 消除代码运行的一些不安全之处,保证代码运行的安全;
- 提高编译器效率,增加运行速度;
- 为未来新版本的Javascript做好铺垫。
如何进入严格模式?
标识为一段无赋值的字符串:”use strict”;
除了在js文件首行,也可以在方法内部:
1 | function strict(){ |
严格模式与非严格模式的区别?
- 全局变量显式声明
- 静态绑定
- 禁止使用with语句
- 创设eval作用域
- 4.3 增强的安全措施
- 禁止this关键字指向全局对象
- 禁止在函数内部遍历调用栈(函数内部调用caller或arguments参数)
- 。。。。
详细内容参考阮老师的文章: https://www.ruanyifeng.com/blog/2013/01/javascript_strict_mode.html