JavaScript 词条目录
前端Wiki/JavaScript/基础/流程控制

while 循环

while 适合「不知道要循环几次」的场景:先判断条件,条件为真就执行循环体。do...while 则是先执行一次再判断,保证循环体至少执行一次,适合「先做、不行再来」的逻辑(如弹窗确认)。

使用 while 最要紧的是:循环体内必须有一句能改变条件的代码(比如计数器自增),否则条件永远为真,程序就陷入死循环,浏览器页面会直接卡死。

一个实用的判断标准:循环次数确定或可算出,用 for;只依赖某个条件是否满足(如「掷骰子直到掷出 6」),用 while。

本节要点while 先判断后执行,do...while 至少执行一次;循环体内必须更新条件变量,否则死循环;次数不确定的循环用 while 更自然。
JavaScript
// while:先判断后执行
let count = 3;
while (count > 0) {
  console.log('倒计时:' + count);
  count--;                    // 必须更新条件,否则死循环
}

// do...while:至少执行一次
let num = 100;
do {
  console.log('执行了一次,num =', num);
  num++;
} while (num < 100);          // 条件不满足,但已经执行过一次

// 实战:掷骰子直到掷出 6(次数不确定)
let dice = 0, times = 0;
while (dice !== 6) {
  dice = Math.floor(Math.random() * 6) + 1;
  times++;
}
console.log('掷了 ' + times + ' 次才出 6');