javascript - JavaScript (ECMAScript5) 严格模式是否提供了值得广泛使用的显着性能优势?

标签 javascript ecmascript-5

我正在阅读一些关于对 JavaScript 使用严格模式的文章,一般来说,这个想法似乎是将一组更严格的规则强加给编码器,以确保 JS 引擎可以更好地优化代码。它几乎感觉像是 Visual Basic 中“Option Explicit”的 JavaScript 等价物。

如果这基本上是对我的代码应用严格模式的净效果,那么性能差异是否值得出于习惯而不是个案应用?除了代码稳定性之外,还有其他值得考虑的优势吗?

我想要将严格模式应用于我的脚本的一些关键原因是什么?

最佳答案

好吧,严格模式代码当然可以表现得更好,因为它消除了使优化更难的问题,例如,从我的脑海中:

  • 删除了 with 语句(真的很难 - 如果不是不可能 - 优化)。
  • 不再有未声明的任务和其他禁令,例如(删除变量名;)
  • eval 不会将变量/函数声明引入局部范围。
  • arguments.callee 已删除,(难以优化(例如 函数内联))
  • arguments 对象索引命名属性不再动态映射到命名形式参数。

关于javascript - JavaScript (ECMAScript5) 严格模式是否提供了值得广泛使用的显着性能优势?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4799239/

相关文章:

javascript - ES5 中的 block 作用域

javascript - 访问 Angular2 JavaScript ES5 组件中的元素

javascript - 如何将 JavaScript 添加到输入字段

javascript - Javascript setTimeout() 和 WebConfig sessionState 超时之间的区别

javascript - 如何通过值获取对象的属性名称[JS]

javascript - 关于 ECMAScript 中 JSON.stringify 的问题

javascript - Webpack babel 转译为 es5 不太有效

javascript - 如何限制对api rest的调用

Javascript - 仅从 textarea 中选择前 5 个非空行

javascript - 处理返回 promise 或空值的函数