while ループ
while (條件) { 需要執(zhí)行的代碼; }
while
for ループは、ループの初期條件と終了條件がわかっている場合に非常に便利です。條件を無視する上記の for ループでは、ループのロジックがわかりにくくなりやすいため、この場合は while ループを使用することをお勧めします。
while ループの判定條件は 1 つだけです。條件が満たされていればループを続けます。條件が満たされない場合はループを終了します。たとえば、100 以內(nèi)のすべての奇數(shù)の合計を計算したい場合、while ループを使用してこれを?qū)g現(xiàn)できます:
var x = 0; var n = 99; while (n > 0) { x = x + n; n = n - 2; } x; // 2500
ループ內(nèi)の変數(shù) n は、-1 になるまで減分し続けます。while 條件は no です。満足しなくなった場合、ループは終了します。
例
<!DOCTYPE html> <html> <body> <p>點擊下面的按鈕,只要 i 小于 5 就一直循環(huán)代碼塊。</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 就一直循環(huán)代碼塊。</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>