Skip to content

严格模式

严格模式(Strict Mode)是 ECMAScript 5 引入的一种 JavaScript 执行模式,它使 JavaScript 在更严格的条件下运行,有助于写出更安全、更优化的代码

开启严格模式

使用 'use strict' 声明严格模式,在 script 的最上面声明全局严格模式,或者在函数中使用局部严格模式

严格模式的约束

全局函数中的 this 是 undefined(非严格模式下是全局对象)

给未声明的变量赋值会抛出错误(非严格模式下会创建全局变量),所以必须显式声明变量

禁止删除不可删除的属性,比如 Object.prototype

限制对 arguments 和 eval 的操作:eval 不能创建变量, arguments 不再与形参绑定

严格模式的好处

减少错误和意外行为

提高代码安全性

为未来 JavaScript 版本铺路

帮助引擎优化代码(因为某些语法可以静态分析)