正在加载...

while 循环

for 把起始、条件和更新收进同一个头部。有时你只知道一条规则:「只要为真就继续」——计数器在干活过程中自己变。while 先检查一个条件,跑循环体,再检查。重复工作的想法相同;页面上的写法不同。

while 做什么?

只要括号里的条件为真,{ } 块就会再跑一遍。头部没有单独的起始或更新槽位。在循环前准备好变量,在循环体里改它们,直到条件变成假。那时循环结束,接着执行后面的语句。

while、for 与 do...while 一览

📊 日常循环形态

形态 何时合适 条件检查
while 规则成立就继续;更新写在循环体 每轮之前
for 起始、停止、步长事先清楚 每轮之前(三部分头部)
do...while 循环体至少要跑一次 每轮之后

入门级 while 例子仍常用小整数计数器。差别在位置:循环前写 let i = 0,花括号里写 i++(或别的改动)。若从不改动条件所读的值,循环可能永远不结束。

简单 while 计数

javascript
let i = 0;
while (i < 5) {
console.log(i);
i++;
}

用 while 计数

i 在循环前从 0 开始。每轮打印 i,再加一。你会看到 0…4——五轮。5 不会打印,因为条件先失败。循环体里没有 i++,i 会永远停在 0。

慢慢读一整轮:条件 → 循环体(含更新)→ 再看条件。所以忘记更新是 while 经典的死循环陷阱。

记录清晰步骤

javascript
let n = 1;
while (n <= 3) {
console.log("step " + n);
n++;
}

从 1 开始,标签更清楚

这里计数器从 1 起,条件用 n <= 3;你会看到 step 1、step 2、step 3。从 0 还是 1 是设计选择——条件要和选择一致,和 for 一样。

用 while 求和

javascript
let total = 0;
let k = 1;
while (k <= 4) {
total = total + k;
k++;
}
console.log(total);

逐轮累加

total 从 0 开始。每轮加上当前的 k,再推进 k。1+2+3+4 之后 total 是 10。增长的结果在循环外;驱动条件的计数器在旁边。

用 while 倒计时

javascript
let left = 3;
while (left > 0) {
console.log("left=" + left);
left--;
}
console.log("done");

倒数到停止

不是每个循环都只往上走。这个打印 left=3、left=2、left=1,然后是 done。减小计数器也是诚实的更新——任何让循环走向结束的改动都可以。

do...while 至少一次

javascript
let x = 0;
do {
console.log("tick " + x);
x++;
} while (x < 1);
console.log("after=" + x);

do...while 先执行循环体

do...while 先跑一遍循环体,再检查条件。即使对普通 while 来说条件一开始就是假,第一轮仍会发生。这里你会看到 tick 0,然后是 after=1。当故事是「先试一次,再视情况重复」时用它。

在页面上显示 while 结果

用 while 做短计数,拼出消息,再写到页面。

用 while 做页面计数

html
<!DOCTYPE html>
<html>
<head>
<title>While — page count</title>
</head>
<body>
<p id="out">…</p>
<script>
let msg = "";
let i = 1;
while (i <= 4) {
msg = msg + i + " ";
i++;
}
let box = document.getElementById("out");
box.textContent = "count=" + msg.trim();
</script>
</body>
</html>

页面显示 count=1 2 3 4。改上限、刷新,读新列表。三部分计划事先清楚时优先 for;停止规则是一条条件、更新写在循环体里时优先 while。下一课用 for...of 和 for...in 遍历值与键。

自己试一试

  1. 写一个 while,在循环体里用 i < 5 和 i++ 输出 0…4。
  2. 改成用 i <= 5 输出 1…5。
  3. 用 while 把 1…5 累加进 total 并输出结果。
  4. 从 5 倒数到 1,再输出 done。
  5. 写一个即使条件一开始为假也打印一行的 do...while。
  6. 在 HTML 演示里只改上限,刷新后读 count=。

常见错误

  • 忘记在循环体里更新,条件永远不变假(死循环)
  • 差一错误:本该 i <= 5 却写成 i < 5(或相反)
  • 明明允许零轮却选用 do...while
  • 更新写错位置,或改了条件没读的变量
  • 明明清晰的 for 头部更好读,却写很长的 while

小结

  • while 在条件为真时重复一块代码
  • 循环前准备变量;在循环体里更新
  • 适合计数、求和与倒计时
  • do...while 至少执行一次循环体,再检查
  • 起止步长清楚用 for;一条持续规则用 while
  • 下一课:for...of 与 for...in —— 遍历值与键

🧠 测试您的知识

准备开始

测试您的知识

通过这个互动测验挑战自己,看看你对这个主题的理解程度如何

❓
8
问题
🎯
70%
及格要求
♾️
∞
时间
🔄
∞
尝试次数

📝 说明

  • 仔细阅读每个问题
  • 为每个问题选择最佳答案
  • 您可以随时重新参加测验
  • 您的进度将显示在顶部