javascript - 反向循环真的更快吗?

标签 javascript performance loops for-loop while-loop

我已经听过很多次了。向后计数时,JavaScript 循环真的更快吗?如果是这样,为什么?我已经看到一些测试套件示例表明反向循环更快,但我找不到任何解释!

我假设这是因为循环不再需要在每次检查是否已完成时评估属性,而只需检查最终数值。

for (var i = count - 1; i >= 0; i--)
{
  // count is only evaluated once and then the comparison is always on 0.
}

最佳答案

不是i--i++ 快.实际上,它们都同样快。

对于每个 i 而言,升序循环需要时间进行评估,你的数组的大小。在这个循环中:

for(var i = array.length; i--;)

您评价.length只有一次,当你声明 i , 而对于这个循环

for(var i = 1; i <= array.length; i++)

你评价 .length每次递增 i , 当你检查 i <= array.length .

在大多数情况下,您甚至不应该担心这种优化

关于javascript - 反向循环真的更快吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1340589/

相关文章:

javascript - Twitter-bootstrap popover 不允许下面的内容起作用

javascript - 每次状态变化时的 Ionic Run 函数

c# - .RemoveAll 和 .Where 在 C# 中的性能差异

MySQL游标循环中的语法错误

javascript - jQuery - 如何向下滑动正文附加数据?

javascript - 如何获取d3js条形图中的条形值

sqlite - 加快SQLite中的SQL选择

performance - EaselJS中大量动画位图的速度

Python循环遍历csv列表并检查值?

javascript - Javascript 中的自旋锁