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