0

可能重复:
什么循环更快,while 或 for

我在three.js中看到很多语言都有共同的代码特性:

for ( var i = 0, l = something.length; i < l; i++ ) {
    do some stuff over i
}

但我读到在javascript中的性能可以通过使用更好:

var i = something.length;
while(i--){
    do some stuff over i
}

这实际上会显着提高任何性能吗?有理由更喜欢一个吗?

4

1 回答 1

3

这实际上会显着提高任何性能吗?

不。不能可靠地跨浏览器(也就是说,跨 JavaScript 实现)。

此外,请注意,在您的示例中,您的while循环向后循环(n到 0),for您引用的循环向前循环(0 到n)。有时这很重要。

一般来说,微优化很少是合适的,在 JavaScript 的情况下尤其如此,在这种情况下,不同的实现具有明显不同的性能特征。相反,编写清晰和可维护的代码,并仅在出现特定性能问题时解决它们,并且如果它们出现,则在您的目标引擎上解决它们。

于 2012-11-07T23:23:52.223 回答