在JavaScript中使用"use strict"的好处

67
除了防止糟糕的编码之外,"use strict" 有什么其他好处?例如,它是否允许脚本运行更快,因为解释器知道其优化的代码?

1
“严格模式更高效吗?”(https://dev59.com/8HA75IYBdhLWcg3ws7ci) - zord
2个回答

39

使用严格模式有很多好处,但由于你特别问到性能,而不仅仅是好的编码优势,这里是MDN对此的说法:

严格模式对正常的 JavaScript 语义进行了几个更改。 首先,它通过将一些 JavaScript 静默错误更改为引发错误来消除这些错误。其次,严格模式纠正了一些使 JavaScript 引擎难以执行优化的错误: 与非严格模式下的完全相同的代码相比,严格模式下的代码有时可以运行得更快。第三,严格模式禁止某些语法,这些语法可能在未来的 ECMAScript 版本中定义。

因此,根据 MDN 上 Firefox 的人所说,严格模式的代码有时可以更快地运行。

关于严格模式的一般好处,请参见What does "use strict" do in JavaScript, and what is the reasoning behind it?


9
以下是好处:
  1. 对象中的重复键。
  2. 无 var 的变量
  3. 重复的参数
  4. 冻结函数参数
在此处查看更好的JavaScript 中使用严格模式的解释。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接