【发布时间】:2021-02-06 13:47:07
【问题描述】:
JavaScript 的 Array.prototype.forEach 通常比 for 循环慢很多。这是因为forEach 包含了for 循环通常没有的额外检查。在for 循环不起作用的情况下,forEach 循环是否有效(由于这些检查)?
要清楚,我不是在问 为什么 for 比 forEach 快。我在问forEach 中的额外检查是否有用。
【问题讨论】:
-
你在说什么额外的检查?在大多数实际情况下,您不太可能在应用程序中看到
for和forEach之间的主要性能差异。 -
见this question。它显示了
forEach实现中的额外检查。 -
我知道很少有重大的性能差异;我只是对
forEach的用例而不是for感到好奇。 -
数组方法比 for 循环更受欢迎,因为它们更清楚地表达了它们的意图。你可以阅读以下文章:loops-are-evil.md和Can we say that the "for loop" will be the new "goto,” given the increasing popularity of functional programming?
-
forEach()做不到的一件事是skip array indexes
标签: javascript arrays loops for-loop foreach