2.繰り返し制御(for文)

繰り返して処理を行うときはfor文を使うと楽に行えます。 プログラムではかなり基本的なもので使いこなせるとかなり作業が楽になっていきますので覚えましょう。

[実行結果]

[プログラム]


<script type="text/javascript" charset="Shift_JIS">

   for(A=0;A<10;A++){
      document.write(A);
   }

</script>

[解説]

このfor文では同じ処理(ループ)を繰り返し行うことが出来ます。

for文の構文はfor(初期値;条件式;更新式){処理};です。 for文もif文と同様に処理が一つしかない場合は { } が省略できます。 今回のプログラムだと
for(A=0;A<10;A++) document.write(A);
と書くこともできます。

これだけだと意味わからないのでもうちょっと詳しく説明。
初期値:繰り返し処理をループの条件を使う時の値を入れておきます。
条件式:「初期値が〜になるまで繰り返す」という感じで比較演算子を使って条件を決めます。
更新式:ループが一回終わった後の処理です。

このサンプルの場合は初期値にA=0でループの条件はA<10(Aが10未満じゃなくなったら) 更新式は A に 1 を足していきます。

このサンプルでのFOR文の流れを解説していきます。

    Aの値          条件式            更新式
1回目 A= 0 Aが10未満なので処理(document.write(A)を実行) Aに1を足す
2回目 A= 1 Aが10未満なので処理(document.write(A)を実行) Aに1を足す
 ・
 ・
9回目 A= 8 Aが10未満なので処理(document.write(A)を実行) Aに1を足す
10回目 A= 9 Aが10未満なので処理(document.write(A)を実行) Aに1を足す
11回目 A=10 Aが10未満でないのでループを抜ける。
という流れで処理を行っています。

Aに1足すというのはA++を使っていますがこれをインクリメントといいます。 これはA=A+1と同じことです。 逆に1引くというのはA--デクリメントといい、A=A-1と同じ意味です。

1以外を足したり引いたりしたいときはA=+2A-=2とやります。 これらはA=A+2A=A-2と同じです。

また入れ子(多重ループ)にして扱うことも出来ます。

[例]

[Tabをいれた例]

for(A=0;A<=3;A++){
   document.write("A");
   for(B=0;B<=2;B++){
      document.write("B");
   }
}
とした場合はどうなるでしょう?

結果は ABBABBABB となります。 つまりAが一回実行されたらBは2回実行されるいるわけです。

あとこうやって入れ子にする時は字下げ(Tab)を入れましょう。 入れないとプログラムを後から見直したりするときに苦労します。

[Tabを入れない例]

for(A=0;A<=3;A++){
document.write("A");
for(B=0;B<=2;B++){
document.write("B");
}}
↑Tabがないと何処で終わっているのかが分かりません。 なるべく見やすいプログラムを心がけましょう。


© 2000-2003 Tsukimi / HobbySpace