全部学科
Python全栈
python
NodeJS全栈
nodejs
小程序首页
📅 2026-05-16 5 分钟 ✍️ juanwangdev

JavaScript do-while 循环

do-while 循环是一种后测试循环结构,先执行循环体,再判断条件,保证循环体至少执行一次。

语法结构

JavaScript
do {
    // 循环体
} while (条件表达式);

代码示例

JavaScript
// 基本用法:至少执行一次
let i = 0;
do {
    console.log(i);
    i++;
} while (i < 3);
// 输出:0, 1, 2

// 条件初始为 false 也会执行一次
let j = 10;
do {
    console.log(j);  // 输出 10
} while (j < 5);     // 条件为 false,循环结束

// 用户输入验证场景
let input;
do {
    input = prompt('请输入 1-100 之间的数字');
} while (input < 1 || input > 100);

// 计算累加和
let sum = 0;
let n = 1;
do {
    sum += n;
    n++;
} while (n <= 100);
console.log(sum);  // 5050

与 while 循环对比

JavaScript
// while:先判断后执行,可能一次都不执行
let a = 10;
while (a < 5) {
    console.log(a);  // 不执行
}

// do-while:先执行后判断,至少执行一次
let b = 10;
do {
    console.log(b);  // 输出 10
} while (b < 5);
特性whiledo-while
判断时机先判断后执行先执行后判断
最少执行次数0 次1 次
适用场景可能需要跳过循环必须执行一次

使用场景

JavaScript
// 菜单选择
let choice;
do {
    console.log('1. 新建');
    console.log('2. 打开');
    console.log('3. 退出');
    choice = getMenuChoice();
} while (choice !== 3);

// 模拟掷骰子直到得到 6
let dice;
do {
    dice = Math.floor(Math.random() * 6) + 1;
    console.log('掷出:' + dice);
} while (dice !== 6);
console.log('终于掷出 6 了!');

注意事项

  • 循环体后的 while 条件必须有分号 ;
  • 条件中使用的变量要在循环外声明或在循环体内更新
  • 避免死循环,确保条件最终变为 false
JavaScript
// 错误:漏掉分号
do {
    console.log(i);
    i++;
} while (i < 5)  // 缺少分号,语法错误

// 死循环示例(避免)
do {
    console.log('无限循环');
} while (true);  // 条件永远为 true

要点总结

  • do-while 先执行循环体,再判断条件,至少执行一次
  • 语法格式:do { } while (条件);,分号不可省略
  • 适用于需要至少执行一次的场景,如菜单选择、输入验证
  • 与 while 的核心区别:判断时机不同,最少执行次数不同

📝 发现内容有误?点击此处直接编辑

← 上一篇 JavaScript break 和 continue
下一篇 → JavaScript for 循环
想查看更多题目和详细解析?
小程序提供完整的题库、模拟考试和详细解析
马上就来

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库