一個for迴圈操作陣列的效率問題

Stoyan Stefanov在 Javascript 設計模式中提到一個for迴圈操作陣列的效率問題,

一般我們在使用for迴圈來操作陣列時,通常都會使用到陣列的長度,

像是這樣:

for(var i=0;i<myarray.length;i++){

//some codes

}

但是這種作法會在每次的迴圈當中,都要計算一次陣列的長度,因此造成迴圈的效率降低。

如果使用 for迴圈來操作 HTMLCollection 物件時,這問題會更明顯。

要解決這問題,可以以預先紀錄陣列的長度來取代每次在迴圈中都進行的計算:

for(i=0, max=myarray.length; i<max ;i++){

}

當然還有更好的最佳化的寫法,但只在極端的效能要求下才有可能會需要。

話說這本書還真不錯,或許你也該買一本來看看。

 
 

  按個讚!~支持本站!~

FB推薦載入中  

你可能會有興趣的文章