一、语法
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 }})();