眾所周知,for循環是編程中必不可少的知識點;那么如何高效的寫出循環呢?
我們要先知道for循環的基礎樣式是由自有變量自增自減和if判組成的;
1 for(條件){ 2 執行語句 3 }
而for循環的條件要明確從哪里開始執行?執行到哪里結束?中間的過程是向上還是向下?
假如不理解js基礎語法的會犯下面的錯誤
1 for (var i = 0; i < 10; i++;) { X 第三個條件是最后的條件所以不需要加“ ;” 2 console.log(i); 3 }
其實除了 “i<10”這個條件,其他條件並不是必須放到小括號里,例如定義a的可以放到放行環上面;定義自增自減的。放到for循環的執行語句里面也是可以的;
后期進行復雜循環會用到這些規則;
1 var i = 0; 2 for (;i < aLen;) { 3 console.log(a[i] + 'low'); 4 i++; 5 }
必須要明白,JavaScript是由上往下執行的,所以如果邏輯上不通的話會報錯的。所以還是建議按照基礎語法來寫。;
執行一遍再回到條件語句里面,判斷參數是否滿足條件,如果滿足繼續執行,不滿足跳出循環。繼續執行下面代碼。
這就是for循環的基本邏輯。
由於大部分for循環都是為了遍歷某個數組或對象。所以更新出了新的語法。
下邊請看栗子:
1 var a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 'a']; 2 var aLen = a.length; 3 function low() { 4 for (var i = 0; i < aLen; i++) { 5 console.log(a[i] + 'low'); 6 } 7 return a; 8 } 9 10 function fashion() { 11 for (i in a) { 12 console.log(a[i] + 'fashion'); 13 } 14 return a; 15 }
low() 與fashion() 執行結果和邏輯是相同的;但簡潔度明顯是fashion() 比較高;
看執行結果;
所以如果是遍歷某個對象或數組,建議使用第二個函數中的for循環;