JavaSctipt語句for迴圈的思考
阿新 • • 發佈:2019-01-01
一、語法
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 } })();