在JavaScript中使用While循环和Do...While循环

来自菜鸟教程
跳转至:导航、​搜索

介绍

自动化是使系统自动运行的技术; 在编程中,我们使用 loops 来自动执行重复的任务。 循环是编程语言最有用的特性之一,在本文中,我们将了解 JavaScript 中的 whiledo...while 循环。

JavaScript 中的 whiledo...while 语句类似于 条件语句 ,它们是在指定条件导致 true 时执行的代码块. 与只计算一次的 if 语句不同,循环将运行多次,直到条件不再计算为 true

您将遇到的另一种常见循环类型是 for 语句 ,它执行一定次数。 whiledo...while 循环是基于条件的,因此无需事先知道循环将运行多少次。

While 循环

在 JavaScript 中,while 语句是一个循环,只要指定条件的计算结果为 true,就会执行。

语法与 if 语句非常相似,如下所示。

while (condition) {
    // execute code as long as condition is true
}

while 语句是 JavaScript 中最基本的循环。

例如,假设我们有一个有人口限制的水族馆。 对于循环的每次迭代,我们将添加一条鱼。 一旦水族馆有 10 条鱼,将达到种群限制,程序将停止添加更多鱼。

水族馆.js

// Set population limit of aquarium to 10
const popLimit = 10;

// Start off with 0 fish
let fish = 0;

// Initiate while loop to run until fish reaches population limit
while (fish < popLimit) {
    // add one fish for each iteration
    fish++;
    console.log("There's room for " + (popLimit - fish) + " more fish.");
}

运行上述程序后,我们将收到以下输出,显示程序通过 while 循环的迭代,直到条件不再被评估为 true

OutputThere's room for 9 more fish.
There's room for 8 more fish.
There's room for 7 more fish.
There's room for 6 more fish.
There's room for 5 more fish.
There's room for 4 more fish.
There's room for 3 more fish.
There's room for 2 more fish.
There's room for 1 more fish.
There's room for 0 more fish.

在我们的示例中,我们将 while 循环设置为运行,只要鱼的数量少于水族馆的种群限制。 对于每次迭代,将一条鱼添加到水族箱中,直到所有 10 点都被填满。 此时,循环停止运行。

无限循环

顾名思义, 无限循环 是一个将永远运行的循环。 如果您不小心进行了无限循环,可能会导致您的浏览器或计算机崩溃。 了解无限循环很重要,这样您就可以避免它们。

while 语句的条件设置为 true 时,会发生常见的无限循环。 下面是一个将永远运行的代码示例。 没有必要测试任何无限循环。

无限循环.js

// Initiate an infinite loop
while (true) {
    // execute code forever
}

无限循环将永远运行,但可以使用 break 关键字终止程序。

在下面的示例中,我们将 if 语句添加到 while 循环中,当满足该条件时,我们将使用 break 终止循环。

北极熊.js

// Set a condition to true
const iceCapsAreMelting = true;
let polarBears = 5;

// Initiate infinite loop
while (iceCapsAreMelting) {
  console.log(`There are ${polarBears} polar bears.`);
  polarBears--;
  // Terminate infinite loop when following condition is true
  if (polarBears === 0) {
    console.log("There are no polar bears left.");
    break;
  }
}

当我们运行上面的代码时,输出将如下所示。

OutputThere are 5 polar bears.
There are 4 polar bears.
There are 3 polar bears.
There are 2 polar bears.
There are 1 polar bears.
There are no polar bears left.

请注意,这不一定是创建和终止循环的实用方法,但 break 是一个需要注意的有用关键字。

做…While循环

我们已经了解了 while 循环,只要指定条件为真,它就会执行一段代码。 基于此的是 do...while 语句,它与 while 非常相似,主要区别在于 do...while 循环将始终执行一次,即使条件永远不会为真.

下面我们将演示 do...while 循环的语法。

do {
    // execute code
} while (condition);

如您所见,循环的 do 部分首先出现,然后是 while (condition)。 代码块将运行,然后将在正常的 while 循环中测试条件。

为了测试这一点,我们可以将一个变量设置为 0,在 do 语句中将其递增,并将我们的条件设置为 false

falseCondition.js

// Set variable to 0
let x = 0;

do {
    // Increment variable by 1
    x++;
    console.log(x);
} while (false);
Output1

我们的输出输出到 1,这意味着代码块在被不成功的 while 条件停止之前迭代了一次循环(来自 0)。

请记住,循环将至少迭代一次,do...while 循环可用于与 while 循环相同的目的。

结论

在本教程中,我们了解了 JavaScript 中的 while 循环、do...while 循环和无限循环。

重复性任务的自动化是编程中极其重要的一部分,这些循环可以帮助您的程序更加高效和简洁。

要了解更多信息,请阅读 Mozilla Developer Network 上的 whiledo...while 循环。