while 循環

while (条件)
  {
  需要执行的代码;
  }

while

for迴圈在已知迴圈的初始和結束條件時非常有用。而上述忽略了條件的for迴圈容易讓人看不清楚迴圈的邏輯,此時用while迴圈更佳。

while迴圈只有一個判斷條件,條件滿足,就不斷循環,條件不滿足時則退出迴圈。例如我們要計算100以內所有奇數總和,可以用while迴圈實作:

var x = 0;
var n = 99;
while (n > 0) {
    x = x + n;
    n = n - 2;
}
x; // 2500

在迴圈內部變數n不斷自減,直到變成-1時,不再滿足while條件,循環退出。

實例

<!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迴圈則可能一次都不執行。

實例

<!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>


#
繼續學習
||
<html> <head> <script> 'use strict'; var arr = ['Bart', 'Lisa', 'Adam']; var i=0; for( i=0;i<arr.length;i++){ alert("hello,"+arr[i]) } while(i<arr.length){ alert("hello,"+arr[i]); i++; } do{ alert("hello,"+arr[i]) i++ }while(i<arr.length) </script> </head> <body> </body> </html>