什么是`严格模式`?
使用它有哪些利弊?Topics
JAVASCRIPT
在GitHub上编辑
'use strict'
是一个用于对整个脚本或个别函数启用严格模式的语句。 严格模式是一种选择进入限制性的 JavaScript 变量的方式。
优点
- 不可能意外地创建全局变量。
- 使得本来会默默失败的赋值抛出一个异常。
- 试图删除不可删除的属性会抛出一个异常(在以前,这种尝试根本没有效果)。
- 需要函数参数名称唯一。
this
在全局上下文内是undefined
。- 它能捕捉到一些常见的编码错误,抛出异常。
- 它禁用了那些令人困惑或考虑不周的功能。
缺点
- 缺失许多一些开发者所习惯的功能。
- 无法访问
function.caller
和function.arguments
- 以不同的严格模式编写的脚本的串联可能会导致问题。
总的来说,好处大于弊端,实际上没有必要依赖严格模式所禁止的特点。 我们都应该默认使用严格模式。