我偶然发现了几种 JavaScript 循环方法,我最喜欢的是:
for(var i = 0; i < a.length; i++){
var element = a[i];
}
但是根据此处的测试( http://www.robertnyman.com/2008/04/11/javascript-loop-performance/ ),可能应该这样编写,以便长度仅计算一次。
在 jQuery 中,有一个 .each 可以用来粘贴一个函数。我更喜欢这个,因为我不必像上面的解决方案一样输入两次数组。
如果 JavaScript 支持宏,那么创建自己的宏将是小菜一碟,但遗憾的是它不支持。
那么你们都用什么?
最佳答案
我已经开始在相关的地方使用迭代器。性能是合理的,但更重要的是它允许您封装循环逻辑:
function createIterator(x) {
var i = 0;
return function(){
return x[i++];
};
}
然后使用:
var iterator=createIterator(['a','b','c','d','e','f','g']);
iterator();
返回“a”;
iterator();
返回“b”;
等等。
迭代整个列表并显示每个项目:
var current; while(current=iterator()) { console.log(current); }
Be aware that the above is only acceptable for iterating a list that contains "non-falsy" values. If this array contained any of:
- 0
- false
- ""
- null
- NaN
the previous loop would stop at that item, not always what you want/expect.
To avoid this use:
var current;
while((current=iterator())!==undefined)
{
console.log(current);
}
关于javascript - 在 JavaScript 中执行循环的最佳方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/193547/