循環提供了一種快速和簡單的方式去做一些重復的事
for循環
一個for循環會一直重復執行,直到指定的循環條件為fasle。 JavaScript的for循環和Java與C的for循環是很相似的。一個for語句是這個樣子的:
for ([initialExpression]; [condition]; [incrementExpression])
statement
do......while
do...while 語句一直重復直到指定的條件求值得到假(false)。 一個 do...while 語句看起來像這樣:
do
statement
while (condition);
while
一個 while 語句只要指定的條件求值為真(true)就會一直執行它的語句塊。一個 while 語句看起來像這樣:
while (condition)
statement
for( ... in ... )
這個 for...in 語句循環一個指定的變量來循環一個對象所有可枚舉的屬性。JavaScript 會為每一個不同的屬性執行指定的語句。
for (variable in object) {
statements
}
for( ... of ... )
for...of語句在可迭代的對象上創建了一個循環(包括Array, Map, Set, 參數對象( arguments) 等等),對值的每一個獨特的屬性調用一個將被執行的自定義的和語句掛鉤的迭代。
該新特性屬于 ECMAScript 2015(ES6)規范,在使用時請注意瀏覽器兼容性。
for (variable of object) {
statement
}
下面的這個例子展示了 for...of 和 for...in 兩種循環語句之間的區別。與 for...in 循環遍歷的結果是數組元素的下標不同的是, for...of 遍歷的結果是元素的值:
let arr = [3, 5, 7];
arr.foo = "hello";
for (let i in arr) {
console.log(i); // logs "0", "1", "2", "foo"
}
for (let i of arr) {
console.log(i); // logs "3", "5", "7" // 注意這里沒有 hello
}
什么是迭代
迭代是重復反饋過程的活動,其目的通常是為了接近并到達所需的目標或結果。每一次對過程的重復被稱為一次“迭代”,而每一次迭代得到的結果會被用來作為下一次迭代的初始值。
for in
for of
break
使用 break 語句來終止循環,switch, 或者是鏈接到 label 語句。
當你使用不帶 label 的 break 時, 它會立即終止當前所在的 while,do-while,for,或者 switch 并把控制權交回這些結構后面的語句。
當你使用帶 label 的 break 時,它會終止指定的標記(label)了的語句。
break 語句的語法看起來像這樣:
break;
break label;
第一種形式的語法終止當前所在的循環或 switch; 第二種形式的語法終止指定的 label 語句。
continue
這個 continue 語句可以用來繼續執行(跳過代碼塊的剩余部分并進入下一循環)一個 while, do-while, for, 或者 label 語句。
當你使用不帶 label 的 continue 時, 它終止當前 while,do-while,或者 for 語句到結尾的這次的循環并且繼續執行下一次循環。
當你使用帶 label 的 continue 時, 它會應用被 label 標識的循環語句。
continue 的語法看起來像這樣:
continue;
continue label;
參考 mdn