Appearance
如何使用
"use strict" 指令只允许出现在脚本或函数的开头。推荐在函数定义中开头放置 'use strict' ,而不是在脚本开头
为什么要使用严格模式
消除 Javascript 语法的一些不合理、不严谨之处,减少一些怪异行为;
- 消除代码运行的一些不安全之处,保证代码运行的安全;
- 提高编译器效率,增加运行速度;
- 为未来新版本的 Javascript 做好铺垫。
严格模式体现了 Javascript 更合理、更安全、更严谨的发展方向,包括 IE 10 在内的主流浏览器,都已经支持它,许多大项目已经开始全面拥抱它。
另一方面,同样的代码,在严格模式中,可能会有不一样的运行结果;一些在"正常模式"下可以运行的语句,在严格模式下将不能运行。掌握这些内容,有助于更细致深入地理解 Javascript,让你变成一个更好的程序员。
规则
- this 的指向不再默认指向 全局
- 不允许删除变量、对象、函数
- 不能使用 8 进制, 转义字符串
- 不能使用 with; eval 是沙盒模式
- 保留一些关键字
- 禁止使用 arguments.callee
开发中如何规范
使用 eslint 等静态代码检查工具,提前扫描。
常用套路
js
(function(window) {
"use strict"; // 防止合并代码代码导致严格模式失效的情况
})(window);