在this网站上有一个for循环变体的列表。我可以理解for(var i=0, len=arr.length; i<len ;i++)
循环的用法(其中arr
是一个数组),因为arr.length
不是在每一步都计算出来,所以似乎有一个边际性能增益。然而使用其他变体的优点是什么?例如,循环像For循环javascript中的变化
for (var i=arr.length; i--;)
for (var i=0, each; each = arr[i]; i++)
是否有通过使用循环变动不同性能的任何显着的变化?即使是非常大的阵列,我通常也会使用for(var i=0, len=arr.length; i<len ;i++)
。所以我只想知道我在这里错过了什么。
“递减”循环在js中快得多。至于最后一个我不会使用它,因为在js false == 0 ==“”。 – mpm 2012-03-30 09:41:43
可能重复的[JavaScript - 循环真的更快...?](http://stackoverflow.com/questions/1340589/javascript-are-loops-really-faster-in-reverse) – Matt 2012-03-30 09:43:21
@camus第二个通过例如循环可能会有用。 DOM元素的集合。 – 2012-03-30 09:45:31