在JavaScript中循环数组的最快方法是什么?
我从书本中学到,你应该像这样写循环:
for(var i=0, len=arr.length; i < len; i++){
// blah blah
}
所以arr.length
将不会每次计算。
其他人说编译器会对此做一些优化,所以你可以写:
for(var i=0; i < arr.length; i++){
// blah blah
}
我只想知道哪个是实践中最好的方法?
用大多数现代浏览器执行此测试后...
http://jsben.ch/#/y3SpC
目前 ,循环的最快形式(在我看来,语法最明显)。
一个带有长度缓存的循环标准
for (var i = 0, len = myArray.length; i < len; i++) {
}
我会说这绝对是一个我赞扬JavaScript引擎开发人员的例子。 运行时间应该为了清晰而非巧妙而进行优化。
循环访问javascript数组的绝对最快的方法是:
var len = arr.length;
while (len--) {
// blah blah
}
请参阅http://blogs.oracle.com/greimer/entry/best_way_to_code_a以进行全面比较
如果订单不重要,我更喜欢这种风格:
for(var i = array.length; i--; )
它缓存了长度,并且写得更短。 但它会以相反的顺序遍历数组。
链接地址: http://www.djcxy.com/p/4197.html上一篇: What's the fastest way to loop through an array in JavaScript?