日期:2013-11-27 浏览次数:21118 次
for、while、do-while循环:
这三种循环本身的循环效率相差不多,所以只需依据适合的使用场景选择即可。
以for循环为例:
var aValues = ["a", "b", "c", "d"];
for(var i = 0; i < aValues.length; i += 1){
fDoSomethingA(aValues[i]);
fDoSomethingA(aValues[i]);
}
上面例子中每次循环都要比较i与数组的长度,所以每次都要重新读取数组长度,由如果数组长度在循环中是不变的,这样做就没有必要,我们可以使用局部变量代替length的读取。同理,例子中,aValues[i]由于被读取两次以上,我们也可以将它赋值给局部变量:
如果循环的业务逻辑对循环顺序不敏感,可以尝试倒序循环,即将计数器递减到0。var aValues = ["a", "b", "c", "d"], nLength = aValues.length;
for(var i = 0, sValue; i < nLength; i += 1){
sValue = aValues[i];
fDoSomethingA(sValue);
fDoSomethingB(sValue);
}
var aValues