相关疑难解决方法(0)

For循环性能:将数组长度存储在变量中

考虑同一循环迭代的两个版本:

for (var i = 0; i < nodes.length; i++) {
    ...
}
Run Code Online (Sandbox Code Playgroud)

var len = nodes.length;
for (var i = 0; i < len; i++) {
    ...
}
Run Code Online (Sandbox Code Playgroud)

后者的版本无论如何比前者快吗?

javascript performance for-loop

50
推荐指数
2
解决办法
4万
查看次数

是否真的需要优化JavaScript for循环?

我读到建议通过在循环头中每次迭代读取数组的length属性来优化JavaScript 中的循环.

所以,我们应该这样做:

var names = ['George','Ringo','Paul','John'];
for(var i=0,j=names.length;i<j;i++){// Read array length once and assign it to a variable
    doSomeThingWith(names[i]);
}
Run Code Online (Sandbox Code Playgroud)

而不是这个:

var names = ['George','Ringo','Paul','John'];
for(var i=0;i<names.length;i++){
    doSomeThingWith(names[i]);
}
Run Code Online (Sandbox Code Playgroud)

但是,我创建了一个小的测试用例来比较这两种技术,但有时第一种情况更快,有时第二种情况更快.

你会推荐哪个版本?

javascript optimization performance loops for-loop

17
推荐指数
4
解决办法
1万
查看次数

标签 统计

for-loop ×2

javascript ×2

performance ×2

loops ×1

optimization ×1