whileは条件をチェックして繰り返しを行うだけですが、繰り返し実行する処理の内部で、条件が変化するような処理を用意しておかなければいけません。そうしないと条件が変化せず、無限ループになってしまいますから。
となると、最初から条件や繰り返しで変化させる処理などを構文自体で管理してくれたほうがわかりやすくなります。それが「
for」構文というものです。
・for構文の基本形for ( 初期化処理 ; 条件 ; 後処理 ) {
……繰り返す処理……
}
for構文は、
()内に3つの文を用意します。これはそれぞれ以下のような役割を果たします。
初期化処理――for構文にはいるとき、最初に一度だけ実行する処理です。繰り返しの前に行なっておくべき処理を用意します。
条件――これが繰り返しの条件です。これがtrueの間、繰り返しを続けます。
後処理――繰り返し部分を実行後、この処理を行ってから最初に戻ります。
これだけではどういう使い方をするのかよくわからないので、慣れるまでは以下のような使い方をするものだと考えておくと良いでしょう。
for ( var 変数 = 初期値 ; 変数 < 終了値 ; 変数 ++ ) {……}
では、実際の利用例を下のリスト欄に挙げておきましょう。これは先ほどのwhileで作成したサンプル「変数nまでの合計を計算する」という処理を
forで書き直したものです。繰り返すごとに変数iの値を増やしていく処理部分が
forの
()内に組み込まれたため、繰り返し部分が、
total += i;の1行だけになり、非常にスッキリとまとまっているのがわかるでしょう。
■リストのforもある!実をいえば、この他にももう1つ、別の
for構文があります。それは、「
リスト」と呼ばれる多数の値をまとめて管理する値を使うものです。
for ( var 変数 in リスト ) {……}
このようになっています。これはリストなど「多数の値をまとめるもの」がわかっていないと使い方がよくわかりません。次回、リストのところで改めて説明することにしましょう。