FOR 迴圈我們用的真的是太多了,但你是否關注過它的優化寫法呢?記錄下:
1. 最最常規寫法,沒有任何不妥
for (var i = 0; i < 10; i++) { // do something... }
2. 迴圈的次數為變數的情況
for (var i = 0; i < arr.length; i++) { // do something... }
其實大多數人都是這種寫法,這種寫法的缺點在於,每次迴圈都要去讀取一次陣列的長度,不划算
3. 變數情況的優化寫法
for (var i = 0, l = arr.length; i < l; i++) { // do something... }
將長度進行儲存,之後迴圈無需再去讀取長度
4. 上面3的寫法也可以這樣寫
var i = 0, l = arr.length; for (; i < l; i++) { // do something... }
這只是3的一種變體,另一種寫法而已,談不上優化。因為無塊級作用域,所以和3的效果是一樣的
5. 優化寫法升級版
for (var i = arr.length - 1; i >= 0; i--) { // do something... }
推薦的寫法,它在第3種的基礎上節約了一個變數。