continue 文は、現在のループまたはラベル付きループの現在反復中の文の実行を終了して、次の反復でループの実行を続けます。
構文
continue [label];
パラメータ
label- その文のラベルに関連付けられた識別子。
説明
break 文と対照的に、continue はループの実行を完全には終了しません。代わりに、
whileループでは、条件式にジャンプします。
forループでは、更新式までジャンプします。
continue 文はラベルを含められ、現在のループの代わりにラベル付きループ文の次の反復へジャンプすることができます。この場合、continue 文は、ラベル付き文の中にある必要があります。
例
例: continue を while とともに使う
次の例は、i の値が 3 であるときに実行される continue 文を持つ while ループを表しています。よって、n は値 1、3、7、および 12 をとります。
var i = 0;
var n = 0;
while (i < 5) {
i++;
if (i === 3) {
continue;
}
n += i;
}
例: continue をラベルとともに使う
次の例では、checkiandj とラベル付けされた文が、checkj とラベル付けされた文を含んでいます。もし continue と遭遇したなら、プログラムは checkj 文の先頭から継続します。continue と遭遇するたびに、checkj の条件が false を返すまで、checkj は再度反復します。false が返されたら、checkiandj 文の残りが完遂されます。
もし continue がラベル checkiandj を持っていたなら、プログラムは checkiandj 文の先頭から継続したでしょう。
label もご覧ください。
var i = 0;
var j = 8;
checkiandj: while (i < 4) {
console.log("i: " + i);
i += 1;
checkj: while (j > 4) {
console.log("j: "+ j);
j -= 1;
if ((j % 2) == 0)
continue checkj;
console.log(j + " is odd.");
}
console.log("i = " + i);
console.log("j = " + j);
}
結果:
"i: 0" // start checkj "j: 8" "7 is odd." "j: 7" "j: 6" "5 is odd." "j: 5" // end checkj "i = 1" "j = 4" "i: 1" "i = 2" "j = 4" "i: 2" "i = 3" "j = 4" "i: 3" "i = 4" "j = 4"
仕様
| 仕様書 | 策定状況 | コメント |
|---|---|---|
| ECMAScript 1st Edition (ECMA-262) | 標準 | 最初期の定義。ラベルなし版。 |
| ECMAScript 3rd Edition (ECMA-262) | 標準 | ラベルあり版を追加。 |
| ECMAScript 5.1 (ECMA-262) Continue statement の定義 |
標準 | |
| ECMAScript 2015 (6th Edition, ECMA-262) Continue statement の定義 |
標準 | |
| ECMAScript Latest Draft (ECMA-262) Continue statement の定義 |
ドラフト |
ブラウザ実装状況
現在、互換性データを可読形式の JSON フォーマットに置き換えているところです。
この互換性一覧は古い形式を使っており、これに含まれるデータの置き換えが済んでいません。
手助けしていただける場合は、こちらから!
| 機能 | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|
| 基本サポート | (有) | (有) | (有) | (有) | (有) |
| 機能 | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|---|
| 基本サポート | (有) | (有) | (有) | (有) | (有) | (有) |