three.js为什么它用于循环而不是while

时间:2012-11-07 23:14:17

标签: javascript performance for-loop while-loop three.js

  

可能重复:
  What loop is faster, while or 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
}

这是否真的能显着改善任何表现?是否有理由偏爱另一个?

1 个答案:

答案 0 :(得分:3)

  

这是否真的能显着改善任何表现?

没有。不可靠的跨浏览器(也就是说,跨JavaScript实现)。

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

一般来说,微优化很少适用,在JavaScript的情况下,这是特别,其中野外的不同实现具有明显不同的性能特征。相反,请将代码编写为清除并且可维护,并且只有在出现时才会解决特定的性能问题,并且如果它们出现在目标引擎上解决它们。