條件與迴圈
條件決定「這一段要不要執行」;迴圈決定「這一段重複幾次」。大多數程式都是這兩種流程組合出來的。
if / else
const score = 72;
if (score >= 90) {
console.log("優");
} else if (score >= 60) {
console.log("及格");
} else {
console.log("不及格");
}
括號裡是條件,大括號裡是條件成立時要跑的程式。由上往下只會走進第一個成立的分支。只有一行時大括號可省略,但建議一律加上,比較不容易看錯。
for
知道要跑幾次時用。括號裡三個部分依序是:從哪裡開始、什麼時候停、每圈結束後怎麼變。
i 從 0 開始,只要 i < 3 就繼續,每圈結束 i++(加 1)。因此會印出 0、1、2。
for...of
只要「把陣列裡每一項拿來用」,不必自己管編號,優先用這個:
while
不知道次數、只知道「條件還成立就繼續」時用。迴圈裡一定要改到條件,否則會永遠跑下去(無窮迴圈)。
範例
const nums = [3, 8, 11, 2];
let total = 0;
for (const n of nums) {
if (n > 5) {
total += n;
}
}
console.log(total); // 19(只加大於 5 的:8 + 11)
總結
if 做選擇,for / for...of 做重複。走陣列時先想 for...of,需要索引再寫傳統 for。