JavaScript for 迴圈語法
for 迴圈用來重覆執行 for 區塊內的語句。
語法:
for (initialExpression; condition; incrementExpression) {
// statements
}
- 其中 initialExpression 是初始化語句,在迴圈第一次執行之前,會先執行 initialExpression
- 在每一次執行迴圈之前,都會先執行 condition 條件式,如果值是 true 則執行迴圈,false 則跳出 for 迴圈
- 而在每一次執行完迴圈之後,都會執行 incrementExpression 語句
例如:
var counter = 0;
for (var i = 0; i < 5; i++) {
counter += i;
}
- 在迴圈開始之前,會先初始化變數 i = 0
- 當每一次迴圈開始執行之前,會判斷 i 是否小於 5,如果大於 5 則跳出迴圈,小於 5 則執行迴圈內容
- 而每當執行完一次迴圈後,會將變數 i 加 1
- 所以每一個迴圈,變數 i 分別會是 0, 1, 2, 3, 4, 5,直到 i 的值變成 5 時則跳出迴圈
所以上面的迴圈執行完後,最後 counter 的值會是 10!
另外,在 initialExpression 語句中,你還可以用逗點 ,
隔開多個初始化語句。例如:
for (var i = 0, j=10; i < 5; i++) {
// .....
}
你也可以省略 initialExpression 或 incrementExpression 語句。例如:
var i = 0;
var counter = 0;
for (; i < 5;) {
counter += i;
i += 1;
}
你甚至可以省略全部語句 initialExpression, condition, incrementExpression,這其實就是無窮迴圈 (infinite loop) 的意思。例如:
var i = 0;
var counter = 0;
for (;;) {
counter += i;
i += 1;
if (i >= 5) {
// 如果你沒用 break 跳出 for 迴圈,則整個程式會卡在迴圈裡面出不去喔
break;
}
}
break
break 用來跳出整個 for 迴圈,讓程式繼續往下執行。
continue
continue 用來讓程式跳過迴圈剩餘的程式碼,直接執行下一次迴圈。例如:
var counter = 0;
for (var i = 0; i < 5; i++) {
if (i < 3) {
continue;
}
counter += i;
}
則當 for 迴圈執行完後 counter 的值會是 7,因為當 i 等於 0, 1, 2 的時候都被跳過 continue 之後的程式碼,直到 i 等於 3, 4 的時候才會執行迴圈內容。