JavaScript中的i ++和++ i之间是否存在性能差异?

时间:2012-09-20 00:45:39

标签: javascript performance operators post-increment pre-increment

我看了Is there a performance difference between i++ and ++i in C?

  

如果得到的话,i ++和++ i之间是否存在性能差异?   价值没用?

JavaScript的答案是什么?

例如,以下哪项更好?

1)

for(var i=0;i<max;i++){
    //code
}

2)

for(var i=0;i<max;++i){
    //code
}

2 个答案:

答案 0 :(得分:9)

以下是有关此主题的文章:http://jsperf.com/i-vs-i/2

++i似乎稍微更快(我在firefox上测试过),根据文章,其中一个原因是:

  

使用i ++,在你可以增加i之前必须创建一个新的i副本。使用++ i,您不需要额外的副本。 i ++将在递增i之前返回当前值。 ++ i返回递增版本i。

答案 1 :(得分:-3)

没有。执行时间没有区别。两个代码片段的区别在于我增加了。

for(i = 0; i < max; i++)
{
    console.log(i);
}

第一个例子将产生结果:0,1,2,3,...,max-1

for(i = 0; i < max; ++i)
{
    console.log(i);
}

第二个例子将产生结果:1,2,3,...,max

i ++在操作后递增值。 ++ i在操作之前递增值。

除了在++ i上进行的少一次迭代之外没有性能差异,因为增量是在第一次操作之前完成的