普通for迴圈
var arr =[1
,2,3
];for(
let i =
0; i < arr.length; i++
)
foreach() (es5推出)
foreach不能正確響應 break, continue, return
var arr =[1
,2,3
];arr.
foreach
((data,index,arr)
=>
);
for in迴圈 (es3推出)
for in會遍歷原型鏈上屬性和方法 效能不好
var arr =[1
,2,3
];for(index in arr)
for of迴圈 (es6推出)var arr =[1
,2,3
];for(data of arr)
es6之前的 3 種 for 迴圈有什麼缺陷:
foreach 不能 break 和 return;
for-in 缺點更加明顯,它不僅遍歷陣列中的元素,還會遍歷自定義的屬性,甚至原型鏈上的屬性都被訪問到。而且,遍歷陣列元素的順序可能是隨機的。
所以,鑑於以上種種缺陷,我們需要改進原先的 for 迴圈。但 es6 不會破壞你已經寫好的 js **。目前,成千上萬的 web **依賴 for-in 迴圈,其中一些**甚至將其用於陣列遍歷。如果想通過修正 for-in 迴圈增加陣列遍歷支援會讓這一切變得更加混亂,因此,標準委員會在 es6 中增加了一種新的迴圈語法來解決目前的問題,即 for-of 。
那 for-of 到底可以幹什麼呢?
跟 foreach 相比,可以正確響應 break, continue, return。
for-of 迴圈不僅支援陣列,還支援大多數類陣列物件,例如 dom nodelist 物件。
for-of 迴圈也支援字串遍歷,它將字串視為一系列 unicode 字元來進行遍歷。
for-of 也支援 map 和 set (兩者均為 es6 中新增的型別)物件遍歷。
總結一下,for-of 迴圈有以下幾個特徵:
這是最簡潔、最直接的遍歷陣列元素的語法。
這個方法避開了 for-in 迴圈的所有缺陷。
與 foreach 不同的是,它可以正確響應 break、continue 和 return 語句。
其不僅可以遍歷陣列,還可以遍歷類陣列物件和其他可迭代物件。
關於迴圈的整理。
迴圈結構 for迴圈 do while 迴圈 while 迴圈 for迴圈 for 初始化語句 判斷條件語句 控制條件語句 while 迴圈 while 判斷條件語句 do while 迴圈 dowhile 判斷條件語句 三種迴圈的區別 do。while迴圈必須先執行一次,在執行判斷條件。for迴圈...
C語言整理 五 (迴圈語句)
while 表示式 迴圈體語句 過程 判斷表示式,其值為真時執行2 其值為假時執行4 執行迴圈體 轉去執行1 迴圈終止,執行while迴圈之後的語句 說明 先判斷表示式,再決定是否執行迴圈體 表示式可以是關係表示式 邏輯表示式,也可以是數值或字元表示式 迴圈體是乙個語句。如果有多條語句需要用 括起來...
判斷程式中迴圈的進度方法整理
可用於神經網路的訓練進度顯示和資料預處理進度顯示 1.直接列印法 如下 n 5 for i in range 0,n print progress format round i 1 100 n 結果如下 但是很明顯這樣會一行一行重新整理,太辛苦電腦了,所以有了改良的只顯示一行的版本 2.單行列印法 ...