1. 程式人生 > >JavaSctipt語句for迴圈的思考

JavaSctipt語句for迴圈的思考

一、語法

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 += 1i = i+1i++

(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
    }
})();