while (条件) { 需要执行的代码; }
while
for ループは、ループの初期条件と終了条件がわかっている場合に非常に便利です。条件を無視する上記の for ループでは、ループのロジックがわかりにくくなりやすいため、この場合は while ループを使用することをお勧めします。
while ループの判定条件は 1 つだけです。条件が満たされていればループを続けます。条件が満たされない場合はループを終了します。たとえば、100 以内のすべての奇数の合計を計算したい場合、while ループを使用してこれを実現できます:
var x = 0; var n = 99; while (n > 0) { x = x + n; n = n - 2; } x; // 2500
ループ内の変数 n は、-1 になるまで減分し続けます。while 条件は no です。満足しなくなった場合、ループは終了します。
例
<!DOCTYPE html> <html> <body> <p>点击下面的按钮,只要 i 小于 5 就一直循环代码块。</p> <button onclick="myFunction()">点击这里</button> <p id="demo"></p> <script> function myFunction() { var x="",i=0; while (i<5) { x=x + "The number is " + i + "<br>"; i++; } document.getElementById("demo").innerHTML=x; } </script> </body> </html>
do ... while
最後のタイプのループは do { ... } while() ループです。これと while ループの唯一の違いは、条件が各ループの開始時に判断されるのではなく、ループの開始時に判断されることです。各ループの完了時間判定条件:
var n = 0; do { n = n + 1; } while (n < 100); n; // 100
do { ... } while() ループを使用する場合は注意してください。ループ本体は少なくとも 1 回実行されますが、for ループと while ループは 1 回実行されない場合があります。
インスタンス
<!DOCTYPE html> <html> <body> <p>点击下面的按钮,只要 i 小于 5 就一直循环代码块。</p> <button onclick="myFunction()">点击这里</button> <p id="demo"></p> <script> function myFunction() { var x="",i=0; do { x=x + "The number is " + i + "<br>"; i++; } while (i<5) document.getElementById("demo").innerHTML=x; } </script> </body> </html>