JavaScript - while 循环



JavaScript 中的 while 语句创建一个循环,只要指定的条件为 true,就会重复执行一段代码块。条件会在代码块执行之前进行评估。

在编写程序时,您可能会遇到需要反复执行某个操作的情况。在这种情况下,您需要编写循环语句以减少代码行数。

JavaScript 支持所有必要的循环来减轻编程压力。在本章中,我们将讨论 while 循环。

JavaScript 中有两种 while 循环,如下所示。

  • 入口控制循环 - 循环首先检查循环条件是否有效,然后进入循环体执行循环语句。

  • 出口控制循环 - 循环进入循环体并执行循环语句,而不检查条件。完成迭代后,它会检查条件。

JavaScript while 循环

JavaScript 中最基本的循环是 while 循环,将在本章中讨论。while 循环是入口控制循环。

while 循环的目的是只要 表达式 为真,就重复执行语句或代码块。一旦表达式变为 false,循环就会终止。

流程图

while 循环 的流程图如下所示:

While loop

语法

JavaScript 中 while 循环 的语法如下所示:

while (expression) {
   Statement(s) to be executed if expression is true
}

示例

在下面的示例中,我们定义了 'count' 变量并将其初始化为 0。之后,我们使用 while 循环进行迭代,直到 count 的值小于 10。

<html>
<body>
    <div id = 'output'></div>
    <script type="text/javascript">
        let output = document.getElementById("output");
        var count = 0;
        output.innerHTML="Starting Loop <br>";
        while (count < 10) {
            output.innerHTML+="Current Count : " + count + "<br>";
            count++;
        }
        output.innerHTML+="Loop stopped!";
    </script>
    <p> Set the variable to a different value and then try... </p>
</body>
</html>

输出

Starting Loop
Current Count : 0
Current Count : 1
Current Count : 2
Current Count : 3
Current Count : 4
Current Count : 5
Current Count : 6
Current Count : 7
Current Count : 8
Current Count : 9
Loop stopped!
Set the variable to different value and then try... 

JavaScript do...while 循环

do...while 循环类似于 while 循环,只是条件检查发生在循环的末尾。这意味着循环将始终至少执行一次,即使条件为 false

流程图

do-while 循环的流程图如下所示:

Do While Loop

语法

JavaScript 中 do-while 循环的语法如下所示:

do {
   Statement(s) to be executed;
} while (expression);
请勿错过 do...while 循环末尾使用的分号。

示例

在下面的示例中,我们使用了 do...while 循环并在输出中打印结果,直到 count 变量的值小于 5。在输出中,我们可以观察到它始终执行一次,即使条件为假。

<html>
<body>
    <div id="output"></div>
    <script type="text/javascript">
        let output = document.getElementById("output");
        var count = 0;
        output.innerHTML += "Starting Loop" + "<br />";
        do {
            output.innerHTML += "Current Count : " + count + "<br />";
            count++;
        }
        while (count < 5);
        output.innerHTML += "Loop stopped!";
    </script>
    <p>Set the variable to a different value and then try...</p>
</body>
</html>

输出

Starting Loop
Current Count : 0 
Current Count : 1 
Current Count : 2 
Current Count : 3 
Current Count : 4
Loop Stopped!
Set the variable to different value and then try...

JavaScript while 与 for 循环

JavaScript while 循环类似于省略了第一个和第三个表达式的 for 循环。当迭代次数固定且已知时,通常使用 for 循环,但当迭代次数未知时,我们使用 while 循环。

示例

让我们以使用 for 循环打印前五个自然数为例:

<html>
<body>
  <p> First five natural numbers:</p>
  <div id = "demo"> </div>
  <script>  
    const output = document.getElementById("demo");
    for(let i = 1; i <= 5; i++){
      output.innerHTML += i + "<br>";
    }
  </script>
</body>
</html>

它将产生以下输出:

First five natural numbers:
1
2
3
4
5

示例

现在我们可以修改上面的 for 循环如下:

<html>
<body>
  <p> First five natural numbers:</p>
  <div id = "demo"> </div>
  <script>  
    const output = document.getElementById("demo");
    let i = 1;
    for(; i <= 5; ){
      output.innerHTML += i + "<br>";
      i++
    }
  </script>
</body>
</html>

输出

First five natural numbers:

1
2
3
4
5

示例

在上面的示例中,我们省略了 for 循环语句中的第一个和第三个表达式。这类似于 while 循环语句。请看下面的示例:

<html>
<body>
  <p> First five natural numbers:</p>
  <div id = "demo"> </div>
  <script>  
    const output = document.getElementById("demo");
    let i = 1;
    while(i <= 5){
      output.innerHTML += i + "<br>";
      i++
    }
  </script>
</body>
</html>

输出

First five natural numbers:

1
2
3
4
5

你会注意到,没有第一个表达式(初始化)和第三个表达式(迭代)的 for 循环,类似于 while 循环。

广告