JavaScript 严格模式与混乱模式
从 ES5 开始,ES5引入了严格模式(Strict Mode),并使用use strict
作为语法声明未使用严格模式时,则称之为混乱模式(非严格模式)
ES6 的 class
与模块内默认采用严格模式。
严格模式 | 非严格模式 |
---|---|
禁止使用 | 允许使用 |
所有变量要先声明 | 使用未声明的变量将隐式声明为全局变量 |
函数中的 |
|
|
|
给只读属性和不可扩展的对象创建新成员将会抛出类型错误异常 | 只是简单的操作失败 |
传入 | 变量和函数定义在 |
| 只是简单的返回 |
| 只是简单的返回 |
在对象直接量中定义多个同名属性将产生语法错误 | 不会报错 |
函数声明存在多个同名的参数将产生语法错误 | 不会报错 |
不允许使用八进制直接量 | 允许部分实现 |
将 | |
限制了对栈的检测能力, | |
函数中的 |
示例:
最后更新于