JavaScriptのWhileループ

条件がtrueの間は、ループはコードブロックを実行し続けます。

Whileループ

whileループは指定された条件がtrueの間は、コードブロックを繰り返し実行します。

文法

while (条件) {
    実行するコードブロック
}

インスタンス

以下の例では、変数(i)が10未満である限り、ループ内のコードが繰り返し実行されます:

while (i < 10) {
    text += "数値は " + i + ";"
    i++;
}

自分で試してみてください

条件に使用する変数を増分しなかった場合、ループは決して終わりません。これにより、ブラウザがクラッシュする可能性があります。

Do/Whileループ

do/whileループはwhileループの変種です。条件が真かどうかを確認する前に、このループは一度コードブロックを実行し、条件が真の間はループを繰り返します。

文法

do {
    実行するコードブロック
}
while (条件);

インスタンス

以下の例では、do/whileループを使用しています。このループは条件がfalseであっても少なくとも一度実行されます。なぜなら、コードブロックは条件テストの前に実行されるからです:

do {
    text += "数値は " + i + ";"
    i++;
 }
while (i < 10);

自分で試してみてください

条件に使用される変数に対してインクリメントを行わないと、ループは永遠に終了しません!

For と While の比較

前の章でループについて学んだことがあれば、while ループは for ループと非常に似ており、ステートメント 1 とステートメント 2 を省略することもできます。

この例では、以下のループを使用しています: for ループ以下の例では、cars 配列から車のブランドを抽出する方法を示します:

インスタンス

var cars = ["BMW", "Volvo", "Saab", "Ford"];
var i = 0;
var text = "";
for (;cars[i];) {
    text += cars[i] + "<br>";
    i++;
} 

自分で試してみてください

この例では、以下のループを使用しています: while ループ以下の例では、cars 配列から車のブランドを抽出する方法を示します:

インスタンス

var cars = ["BMW", "Volvo", "Saab", "Ford"];
var i = 0;
var text = "";
while (cars[i]) {
    text += cars[i] + "<br>";
    i++;
} 

自分で試してみてください

教科書

さらに詳しい情報が必要な場合は JavaScript while ステートメント詳しい情報については、JavaScript 高级ガイドの関連コンテンツを参照してください:

ECMAScript イテレーション ステートメント
イテレーション ステートメントはまたループ ステートメントと呼ばれます。このセクションでは、ECMAScript が提供する四つのイテレーション ステートメントについて紹介します。