JavaScript do 关键字
最后修改于 2025 年 4 月 16 日
在本文中,我们将展示如何使用 do
关键字在 JavaScript 中创建 do...while 循环。 do...while 循环在检查条件之前至少执行一次代码块。
do 关键字
do
关键字用于在 JavaScript 中创建 do...while 循环。该循环首先执行一个代码块,然后检查条件。 与常规的 while 循环不同,do...while 保证至少执行一次。
语法由 do
关键字后跟一个用大括号括起来的代码块,然后是带有条件的 while
关键字组成。 只要条件评估为真,循环就会继续执行。
当您需要在检查是否应该重复之前至少执行一次代码时,do...while 循环非常有用。 它们通常用于输入验证和菜单系统。
基本 do...while 循环
以下示例演示了 do
关键字在 do...while 循环中的基本用法。
let i = 0; do { console.log(i); i++; } while (i < 5);
此循环将首先执行代码块,然后检查 i 是否小于 5。只要条件为真,它就会继续循环。该循环运行 5 次,记录数字 0 到 4。
$ node main.js 0 1 2 3 4
条件为假的 do...while 循环
此示例显示,即使条件最初为假,代码块也会执行一次。
let count = 10; do { console.log('This runs once'); count++; } while (count < 5);
尽管 count 为 10(这使得条件为假),但在检查条件之前,代码块会运行一次。 这说明了 while 循环和 do...while 循环之间的关键区别。
$ node main.js This runs once
使用 do...while 进行输入验证
Do...while 循环非常适合输入验证场景。
let userInput; do { userInput = prompt('Enter a number between 1 and 10:'); } while (isNaN(userInput) || userInput < 1 || userInput > 10); console.log(`Valid input: ${userInput}`);
此循环继续提示用户,直到他们输入 1 到 10 之间的有效数字。 代码必须至少运行一次才能获得初始输入,这使得 do...while 成为这种情况的理想选择。
$ node main.js Enter a number between 1 and 10: 15 Enter a number between 1 and 10: abc Enter a number between 1 and 10: 7 Valid input: 7
带有 break 的 do...while 循环
break
语句可用于提前退出 do...while 循环。
let num = 0; do { num++; if (num === 3) { break; } console.log(num); } while (num < 5);
此循环通常会运行到 num 达到 5,但我们使用 break
在 num 等于 3 时退出。 break 语句立即终止循环执行。
$ node main.js 1 2
嵌套 do...while 循环
Do...while 循环可以嵌套在其他循环中,包括其他 do...while 循环。
let i = 0; do { let j = 0; do { console.log(`i: ${i}, j: ${j}`); j++; } while (j < 2); i++; } while (i < 2);
此示例显示了两个嵌套的 do...while 循环。 内部循环为外部循环的每次迭代完成其所有迭代。 输出显示了 i 和 j 值的组合。
$ node main.js i: 0, j: 0 i: 0, j: 1 i: 1, j: 0 i: 1, j: 1
带有 continue 的 do...while 循环
continue
语句跳过 do...while 循环中的当前迭代。
let k = 0; do { k++; if (k === 2) { continue; } console.log(k); } while (k < 4);
当 k 等于 2 时,continue 语句跳过该迭代的其余部分。 循环在检查条件后继续进行下一次迭代。 数字 1、3 和 4 被记录到控制台。
$ node main.js 1 3 4
实际用例:菜单系统
这是一个使用 do...while 构建简单菜单系统的实际示例。
let choice; do { console.log('1. Option One'); console.log('2. Option Two'); console.log('3. Exit'); choice = prompt('Enter your choice:'); switch(choice) { case '1': console.log('You chose Option One'); break; case '2': console.log('You chose Option Two'); break; case '3': console.log('Exiting...'); break; default: console.log('Invalid choice'); } } while (choice !== '3');
此菜单系统会继续显示选项,直到用户选择退出。 do...while 循环确保菜单至少显示一次,并重复执行直到满足退出条件。
$ node main.js 1. Option One 2. Option Two 3. Exit Enter your choice: 1 You chose Option One 1. Option One 2. Option Two 3. Exit Enter your choice: 3 Exiting...
来源
在本文中,我们演示了如何使用 do 关键字在 JavaScript 中创建 do...while 循环。 当您需要在检查条件之前至少执行一次代码时,这些循环很有用。