在过去和大多数我目前的项目中,我倾向于使用这样的for循环:
var elements = document.getElementsByTagName('div');
for (var i=0; i<elements.length; i++) {
doSomething(elements[i]);
}
Run Code Online (Sandbox Code Playgroud)
我听说使用"反向"循环更快但我没有真正的方法来证实这一点:
var elements = document.getElementsByTagName('div'),
length = elements.length;
while(length--) {
doSomething(elements[length]);
}
Run Code Online (Sandbox Code Playgroud)
什么被认为是循环JavaScript中的元素或任何数组的最佳实践?
我偶然发现了几种在JavaScript中循环的方法,我最喜欢的是:
for(var i = 0; i < a.length; i++){
var element = a[i];
}
Run Code Online (Sandbox Code Playgroud)
但是在这里进行了测试(http://www.robertnyman.com/2008/04/11/javascript-loop-performance/),应该编写它以便只计算一次长度.
在jQuery中有一个.each,你可以坚持一个功能.我喜欢这个更好一点,因为我不需要输入两次数组,就像上面的解决方案一样.
如果JavaScript支持宏,那么推出自己的宏将是件小事,但遗憾的是它没有.
那么你们用什么?
哪种方式更有效?有区别吗?
这个:
var str = 'abc';
if(str.length == 20) {
//...
}
if(str.length == 25) {
//...
}
// and so on
Run Code Online (Sandbox Code Playgroud)
或者这一个:
var str = 'abc';
var length = str.length;
if(length == 20) {
//...
}
if(length == 25) {
//...
}
// and so on
Run Code Online (Sandbox Code Playgroud)