梅ちゃん堂 > JavaScript 入門 > JavaScript の基礎 >
- 繰り返し処理 -

1.for

あらかじめ繰り返す回数や範囲がわかっている場合に使います。

例:
for(i = 0; i < 10; i++) {
  document.write( i + "<BR>");
}

これは文書上に 0 から 9 までの数字を書きだして改行する処理です。

for (制御変数 = 初期値 ; 制御変数 < 終了値 ; 加算) 処理内容

という構文になっています。制御変数に初期値を入れ、終了値に達するまでの間、制御変数に 1 を足して(i++)行きます。

これと反対に、数値を1つずつ減らしていく方法もあります。構文は、

for (制御変数 = 初期値 ; 制御変数 > 終了値 ; 減算) 処理内容

となります。

例:
for(i = 10; i > 0; i--) {
  document.write( i + "<BR>");
}

これは文書上に 10 から 1 までの数字を書きだして改行する処理です。

2.for...in

指定されたオブジェクトのプロパティ数の分だけ処理を繰り返します。構文は

for (制御変数 in オブジェクト名) 処理内容

となります。

以下は document オブジェクトのプロパティを列挙するプログラムです。 ブラウザによって異なった結果が表示されるはずです。

for(i in document) {
  document.write( i + "=" + document[i] + "<BR>");
}

3.while, do {...} while

一定の条件が満たされるまで処理を繰り返します。 従って繰り返す回数や範囲がわかっていない場合に有効です。

while の場合は条件が満たされなければ実行されませんが、 do {...} while は条件が満たされなくても1度は処理が実行される点に違いがあります。構文は、

while (条件文) 処理内容

do {処理内容} while (条件文)


次のプログラムは、指定された文字列からスペースを抜き取って表示します。

var JS = "J A V A S C R I P T";
while(JS.indexOf(" ", 0) >= 0) {
  JS = JS.replace(" ", "");
}
document.write(JS);

4.ループの制御

ループの途中で或る条件に合致すれば処理を中止したい場合があります。 このような場合、break を使います。

次の例では、50 から 1 ずつ引いた数を表示しますが、結果が 0 以下になった時点で処理を中止しています。

for( i = 0; i < 100; i++) {
  x = 50 - i;
  if ( x < 0 ) break;
  document.write( x + "<BR>");
}

一方、continue はループそのものを中断しませんが、continue 以下のブロックを中止します。 以下の例は結果の数値が 2 で割り切れる場合には表示を中止しています。 結果として、奇数のみが列挙されることになります。

for(i = 0; i < 100; i++) {
  if ( i % 2 == 0) continue;
  document.write( i + "<BR>");
}

前ページに戻る 前ページに戻る 次ページに進む
Copyright © 2003 梅ちゃん堂. All Rights Reserved