for ステートメント
指定された条件が真 (true) の間、複数のステートメントから構成されるブロックを繰り返して実行します。
for (initialization; test; increment)
...statement
引数
initialization
必ず指定します。 任意の式を指定します。 この式は、ループを実行する直前に一度だけ実行されます。テスト
必ず指定します。 ブール式を指定します。 test が真 (true) の場合は、statement が実行されます。 test が偽 (false) になると、ループの実行は終了します。increment
必ず指定します。 任意の式を指定します。 インクリメント式は、ループ内のブロックの実行が終わるたびに実行されます。statement
省略可能です。 test の評価が真 (true) の場合に実行するステートメントを指定します。 複合ステートメントを指定することもできます。
解説
特定の回数だけ処理を繰り返す場合は、for ループを使います。 for ループは、配列を繰り返し処理する場合や、順次処理を実行する場合に便利です。
条件式はループが実行される前にテストされます。 したがって、for ステートメントは 0 回以上実行されます。
for ループ ステートメント ブロック内の任意の行で、break ステートメントを使用してループから抜けることができます。同様に、任意の行で continue ステートメントを使用して、ループの次の反復処理に制御を移すことができます。
使用例
次の例では、for ステートメントは、かっこで囲まれたステートメントを次のように実行します。
最初に、変数 i の初期値が評価されます。
次に、i の値が 9 以下であれば、document.write ステートメントが実行され、i が再評価されます。
i が 9 よりも大きい場合には、条件が false になり、制御がループの外に移ります。
// i is set to 0 at the start and is incremented by 1 at the
// end of each iteration.
// The loop terminates when i is not less than or equal to
// 9 before a loop iteration.
var s = "";
for (var i = 0; i <= 9; i++)
{
s += i + " ";
}
print (s);
// Output: 0 1 2 3 4 5 6 7 8 9
for ステートメントの式はすべて省略できます。 次の例では、for ステートメントで無限ループを実装し、break ステートメントを使用してループを終了します。
var s = "";
var j = 0;
for (;;)
{
if (j >= 5)
{
break;
}
j++;
s += j + " ";
}
print (s);
// Output: 1 2 3 4 5