一、语法
for (语句 1; 语句 2; 语句 3) {
被执行的代码块;
}
- 语句 1: 在循环(代码块)开始前执行, 可选.
- 语句 2: 定义运行循环(代码块)的条件, 可选, 如果省略了语句 2, 那么必须在循环内提供 break, 否则循环就无法停下来.
- 语句 3: 在循环(代码块)已被执行之后执行, 可选.
二、常规写法
var arr = [1, 2, 3, 4, 5];
(function(){
for(var i = 0; i < arr.length; i++){
console.log(arr[i]); //1 2 3 4 5
}
})();
三、改进
3.1 将数组长度提前提取出来,避免每次循环提取一次
(function(){
for(var i = 0, max = arr.length; i < max; i++){
console.log(arr[i]); //1 2 3 4 5
}
})();
3.2 i += 1
或i = i+1
比i++
快
(function(){
for(var i = 0, max = arr.length; i < max; i += 1){
console.log(arr[i]); //1 2 3 4 5
}
})();
3.3 和0作比较更快
(function(){
for(var i = arr.length; i--;){
console.log(arr[i]); //5 4 3 2 1
}
})();
(function(){
var i = arr.length;
while(i--){
console.log(arr[i]); //5 4 3 2 1
}
})();