while 基本語法
while (條件) {
// 要重複執行的程式
}
第一個範例:數到5
let i = 1;
while (i <= 5) {
console.log(i);
i++;
}
輸出
1
2
3
4
5
生活情境一:一直存錢直到10000元
let money = 0;
while (money < 10000) {
money += 1000;
console.log(`目前存了 ${money} 元`);
}
console.log("可以買手機了!");
輸出
目前存了1000元
目前存了2000元
...
目前存了10000元
可以買手機了!
生活情境二:遊戲打怪
let bossHP = 100;
while (bossHP > 0) {
bossHP -= 20;
console.log(`剩餘血量:${bossHP}`);
}
console.log("魔王被打敗!");
輸出
80
60
40
20
0
魔王被打敗!
計數器
數字計數
let i = 1;
while (i <= 10) {
console.log(i);
i++;
}
累加
算總分
let total = 0;
let score = 10;
while (score <= 50) {
total += score;
score += 10;
}
console.log(total);
輸出
150
找到答案才停止
如搜尋資料
let number = 1;
while (number !== 8) {
console.log(number);
number++;
}
console.log("找到8!");
while 搭配 break
找到就立刻停止。
let i = 1;
while (true) {
console.log(i);
if (i === 5) {
break;
}
i++;
}
while 搭配 continue
跳過某次
let i = 0;
while (i < 5) {
i++;
if (i === 3) {
continue;
}
console.log(i);
}
輸出
1
2
4
5
while 最容易犯的錯誤
❌ 忘記改變條件(無限迴圈)
let i = 1;
while (i <= 5) {
console.log(i);
}
i 永遠都是1
while 與 for 的差異
| 比較項目 | while | for |
|---|---|---|
| 適合情況 | 不知道要跑幾次 | 知道要跑幾次 |
| 是否需要計數器 | 不一定 | 通常需要 |
| 常見用途 | 登入、搜尋、等待、遊戲 | 陣列、固定次數重複 |
| 可讀性 | 條件導向 | 次數導向 |
兩者結果相同,但思考方式不同:
在實務開發中,遍歷陣列、固定次數重複通常用 for;
登入驗證、等待資料、重試 API、遊戲迴圈等條件未知的情境,通常會優先考慮 while