Skip to content

循环(for 与 while)

了解循环如何自动重复代码——for 循环用于已知次数,while 循环用于条件成立时。

你将学到

  • 循环为什么存在、它替代了什么
  • for 循环如何按范围计数
  • while 循环如何重复到条件失败
  • 如何避免死循环

概念讲解

循环(for 与 while)

循环让一段代码重复执行多次。没有循环,你就得把同样的行复制粘贴 N 遍——想象手工打印 100 次"Hello"。循环让你只写一次指令,再说"重复 N 次"。

for 循环

当你知道要重复几次时用 for。它有三部分:初始化、条件、更新。

for (let i = 0; i < 5; i++) {
  console.log("Iteration", i);
}
// 打印:Iteration 0, 1, 2, 3, 4
  • let i = 0 —— 循环开始前执行一次。
  • i < 5 —— 每次迭代前检查,为真则继续。
  • i++ —— 每次迭代后执行,让计数器自增。

while 循环

当你不知道要重复几次、只想"重复到条件为假"时用 while

let dice = 0;
while (dice !== 6) {
  dice = Math.floor(Math.random() * 6) + 1;
  console.log("Rolled:", dice);
}

当心死循环

死循环永不停止,因为条件永远为真,会卡死程序。务必确保循环的推进最终会让条件变假——比如 i 朝上限增长,或 dice 确实能掷到 6。

需要更细的控制时,用 break 提前退出、continue 跳到下一次迭代。

示例代码

              // for 循环:从 5 倒数
for (let i = 5; i > 0; i--) {
  console.log(i);
}
console.log("Liftoff!");

// while 循环:不断翻倍直到超过 100
let value = 1;
let steps = 0;
while (value <= 100) {
  value *= 2;
  steps++;
}
console.log(`Reached ${value} in ${steps} steps`);  // Reached 128 in 7 steps
            

for 循环倒数,因为 i-- 每步让 i 减一。while 循环不断翻倍,直到条件 (value <= 100) 为假。

动手试一试

  • Crontab Generator

    Cron 表达式本质上是"时间上的循环"——"每 N 分钟运行一次"。

常见错误

错误写法

写出的 while 条件永远不可能为假。

正确做法

确保循环体修改了条件中用到的变量。心里走一遍:每次迭代都在推进吗?

错误写法

差一错误:用了 < 而非 <=。

正确做法

先想清楚端点是否包含。for (let i = 0; i <= n; i++) 跑 n+1 次;i < n 跑 n 次。测边界。

相关代码片段

练习 循环(for 与 while)

2 个练习

练习 循环(for 与 while)

查阅不认识的术语

新手友好的术语表用大白话解释编程术语——变量、函数、DOM、Promise 等等。

查看术语表

动手做项目

通过引导式项目应用所学,含起始代码与解决方案。

查看项目

解读错误信息

用大白话解释常见错误——什么意思、为什么发生、如何修复。

查看错误