条件式がtrue(真 )であるとき、スクリプトブロックの文1, 文2, ..., 文n が実行された後に再び条件式をチェックしながら、条件式が真であり続ける間、スクリプトブロックの文が繰り返され、ついに条件式がfalse(偽)となったときにwhile文が終了する。
while (条件式) {
文1;
文2;
...
文n;
}
|
| スクリプト | 結果 |
<script type="text/javascript">
<!--
var sum;
var i;
document.write("while文の動作 ", "<br>");
// 0 から 9 までの総和
i = 0;
sum = 0;
while (i < 10) {
sum = sum + i;
document.write("sum = ", sum, "<br>");
i = i + 1;
}
document.write("合計 = ", sum, "<br>");
// -->
</script>
|
while文の動作 sum = 0 sum = 1 sum = 3 sum = 6 sum = 10 sum = 15 sum = 21 sum = 28 sum = 36 sum = 45 合計 = 45 |
スクリプトブロックにある文1,..,文n を次の回数分だけ繰り返して実行する: カウンタ変数値を初期値にセットして、(カウンタ継続条件が真であれば)スクリプトブロックを実行し、カウンタ値を次のカウンタ値にセットしてカウンタの継続条件が真であることを確認してスクリプトブロックを実行し、これをカウンタの終了継続条件が偽となるまで繰り返す。
for (カウンタ=初期値; カウンタ継続条件; 次のカウンタ値) {
文1;
文2;
...
文n;
}
|
どんなfor文も必ずwhile文で書き換えることができることが証明できる。
たとえば、整数 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 を足し合わせた合計を求めるには次のようなスクリプトを書けばよい:
| スクリプト | 結果 |
<script type="text/javascript">
<!--
var sum;
var i;
document.write("for文の動作 ", "<br>");
// 0 から 9 までの総和
sum = 0;
for (i = 0; i < 10; i = i +1){
sum = sum + i;
document.write("sum = ", sum, "<br>");
}
document.write("合計 = ", sum, "<br>");
// -->
</script>
|
for文の動作 sum = 0 sum = 1 sum = 3 sum = 6 sum = 10 sum = 15 sum = 21 sum = 28 sum = 36 sum = 45 合計 = 45 |