【发布时间】:2016-03-18 20:12:03
【问题描述】:
我正在尝试以最快的方式将变量从 0 增加到 1000000。在这种情况下,我需要增加变量值并测量运行所有这些循环的时间。我应该使用while 循环,还是使用setInterval() 和0 的时间间隔最快?
var i = 0;
while(i <= 1000000){
i++;
}
//VS
var i = 0;
setInterval(function(){
if(i <= 1000000){
i++
}
},0)
//OTHER OPTIONS
//...
以及如何衡量?
更新
我想我表达自己错了,我想把变量一一加到100万。这就是我衡量的问题,这是最好的方法吗?
【问题讨论】:
-
最快的方法是添加
1000000。 -
为什么?这是某种瓶颈吗?而且我认为您的第二种方法会使浏览器崩溃。
-
我不推荐
setInterval方法,但如果你使用它,请确保在完成后清除间隔。当前代码将永远运行区间。 -
很少有 JSPerfs 已经为此设置:jsperf.com/fastest-array-loops-in-javascript/24 和 jsperf.com/loops/33 就是很好的例子。
标签: javascript jquery loops ecmascript-5