JavaScriptForループ
ループは、コードのブロックを何度も実行できます。
JavaScriptループ
ループは、同じコードを毎回異なる値で繰り返し実行する場合に便利です。
多くの場合、これは配列を操作する場合に当てはまります。
書く代わりに:
text += cars[0] + "<br>";
text += cars[1] + "<br>";
text += cars[2] + "<br>";
text += cars[3] + "<br>";
text += cars[4] + "<br>";
text += cars[5] + "<br>";
あなたは書ける:
for (let i = 0; i < cars.length; i++) {
text += cars[i] + "<br>";
}
さまざまな種類のループ
JavaScriptはさまざまな種類のループをサポートしています。
for
-コードのブロックを何度もループしますfor/in
-オブジェクトのプロパティをループしますfor/of
-反復可能なオブジェクトの値をループしますwhile
-指定された条件が真である間、コードのブロックをループしますdo/while
-また、指定された条件が真である間、コードのブロックをループします
Forループ
ループのfor
構文は次のとおりです。
for (statement 1; statement 2; statement 3) {
// code block to be executed
}
ステートメント1は、コードブロックの実行前に(1回)実行されます。
ステートメント2は、コードブロックを実行するための条件を定義します。
ステートメント3は、コードブロックが実行された後に(毎回)実行されます。
例
for (let i = 0; i < 5; i++) {
text += "The number is " + i + "<br>";
}
上記の例から、次のように読むことができます。
ステートメント1は、ループが開始する前に変数を設定します(i = 0とします)。
ステートメント2は、ループを実行するための条件を定義します(iは5未満である必要があります)。
ステートメント3は、ループ内のコードブロックが実行されるたびに値(i ++)を増やします。
ステートメント1
通常、ステートメント1を使用して、ループで使用される変数を初期化します(i = 0とします)。
これは常に当てはまるわけではなく、JavaScriptは気にしません。ステートメント1はオプションです。
ステートメント1(コンマで区切る)で多くの値を開始できます。
例
for (let i = 0, len = cars.length, text = ""; i < len; i++) {
text += cars[i] + "<br>";
}
また、ステートメント1を省略できます(ループが開始する前に値が設定されている場合など)。
例
let i = 2;
let len = cars.length;
let text = "";
for (; i < len; i++) {
text += cars[i] + "<br>";
}
ステートメント2
多くの場合、ステートメント2は、初期変数の状態を評価するために使用されます。
これは常に当てはまるわけではなく、JavaScriptは気にしません。ステートメント2もオプションです。
ステートメント2がtrueを返す場合、ループは最初からやり直し、falseを返す場合、ループは終了します。
ステートメント2を省略する場合は、ループ内にブレークを指定する必要があります。そうしないと、ループが終了しません。これにより、ブラウザがクラッシュします。このチュートリアルの後の章で休憩について読んでください。
ステートメント3
多くの場合、ステートメント3は初期変数の値をインクリメントします。
これは常に当てはまるわけではなく、JavaScriptは関係なく、ステートメント3はオプションです。
ステートメント3は、負の増分(i--)、正の増分(i = i + 15)、またはその他のことを実行できます。
ステートメント3は省略できます(ループ内で値をインクリメントする場合など)。
例
let i = 0;
let len = cars.length;
let text = "";
for (; i < len; ) {
text += cars[i] + "<br>";
i++;
}
ループスコープ
var
ループでの使用:
例
var i = 5;
for (var i = 0; i < 10; i++) {
// some code
}
// Here i is 10
let
ループでの使用:
例
let i = 5;
for (let i = 0; i < 10; i++) {
// some code
}
// Here i is 5
最初の例では、を使用var
して、ループ内で宣言された変数がループ外の変数を再宣言します。
2番目の例では、を使用let
して、ループ内で宣言された変数は、ループ外の変数を再宣言しません。
がループ内でi変数を宣言するために使用される場合let
、i変数はループ内でのみ表示されます。
For / OfおよびFor / Inループ
for/in
ループとループについては、次のfor/of
章で説明します。
Whileループ
while
ループとは次のdo/while
章で説明します。