for( i=0; i<arr.length;i++){ }複製代碼
最簡單的一種,也是使用頻率最高的一種,雖然性能不弱,但仍有優化空間es6
for(i=0,len=arr.length;i<len;i++){ }複製代碼
使用臨時變量將長度緩存起來,避免重複獲取數組長度,當數組較大時優化效果纔會比較明顯,這種方法基本上是全部循環遍歷方法中性能最高的一種數組
arr.forEach(item=>{ })複製代碼
數組自帶的forEach循環,使用頻率較高,實際上性能比普通for循環弱緩存
Array.prototype.forEach.call(arr,item=>{ })複製代碼
由於forEach是Array自帶的,對於一些非這種類型的,沒法直接使用(如NodeList), 全部纔有了這個變種,使用這個變種可讓相似的數組擁有forEach功能bash
for( var i in arr){ }複製代碼
在衆多循環方式種,它的效率是最低的性能
arr.map(item=>{ })複製代碼
使用起來優雅,但實際效率不如forEach優化
for( let i of arr){ }複製代碼
es6中用到的,性能好於for in,但仍比不上普通for循環ui