ECMAScript 5 的严格模式是 JavaScript 中的一种限制性更强的变种方式。严格模式不是一个子集:它在语义上与正常代码有着明显的差异。不支持严格模式的浏览器与支持严格模式的浏览器行为上也不一样, 所以不要在未经严格模式特性测试情况下使用严格模式。严格模式可以与非严格模式共存,所以脚本可以逐渐的选择性加入严格模式。 严格模式在语义上与正常的 JavaScript 有一些不同。 首先,严格模式会将 JavaScript 陷阱直接变成明显的错误。其次,严格模式修正了一些引擎难以优化的错误:同样的代码有些时候严格模式会比非严格模式下更快。 第三,严格模式禁用了一些有可能在未来版本中定义的语法。 如果你想让你的 JavaScript 代码在严格模式下运行,可以参考转换成严格模式。 有时,你会看到符合规范的、非严格模式被称为 "懒散模式",这不是官方术语,但你应该注意到它.