Сводка
Инструкция continue прерывает выполнение текущей итерации текущего или отмеченного цикла, и продолжает его выполнение на следующей итерации.
Синтаксис
continue [ label ];
label- Идентификатор, являющийся меткой (
label) инструкции.
Описание
По сравнению с инструкцией break, continue прерывает выполнение цикла не полностью, вместо этого:
- В цикле
whileоно переносит поток выполнения к условию.
- В цикле
forоно переносит поток выполнения к финальному выражению в описании цикла.
Инструкиця continue может использоваться вместе с необязательной меткой, которая будет начинать следующую итерацию отмеченного цикла, а не текущего. В этом случае, continue должен находиться внутри отмеченного блока, который соответствует метке.
Примеры
Использование continue с циклом while
Пример показывает использование цикла while вместе с инструкцией continue, которая выполняется, когда i станет равно 3-м. Таким образом, n принимает значения 1, 3, 7 и 12.
i = 0;
n = 0;
while (i < 5) {
i++;
if (i === 3) {
continue;
}
n += i;
}
Использование continue вместе с меткой
В примере цикл, отмеченный checkiandj, содержит внутри себя цикл, отмеченный checkj. Если встретится инструкция continue, выполнение кода продолжится в начале блока кода checkj. При каждом вызове continue цикл checkj будет начинать новую итерацию, пока условие не начнёт возвращать false. Когда это случится, продолжится выполнение оставшейся части цикла checkiandj.
Если бы continue имело метку checkiandj, программа продолжала бы свою работу с начала цикла checkiandj.
Смотрите также label.
var i = 0,
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 + " является нечётным.");
}
console.log("i = " + i);
console.log("j = " + j);
}
Вывод:
"i: 0" // начало checkj "j: 8" "7 является нечётным." "j: 7" "j: 6" "5 является нечётным." "j: 5" // конец checkj "i = 1" "j = 4" "i: 1" "i = 2" "j = 4" "i: 2" "i = 3" "j = 4" "i: 3" "i = 4" "j = 4"
Спецификации
| Спецификация | Статус | Комментарии |
|---|---|---|
| ECMAScript 1-е Издание. | Стандарт | Изначальное определение. Версия без метки. |
| ECMAScript 3-е Издание. | Стандарт | Добавлена поддержка метки. |
| ECMAScript 5.1 (ECMA-262) Определение 'Continue statement' в этой спецификации. |
Стандарт | |
| ECMAScript 2015 (6th Edition, ECMA-262) Определение 'Continue statement' в этой спецификации. |
Стандарт |
Поддержка браузерами
| Возможность | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|
| Базовая поддержка | (Да) | (Да) | (Да) | (Да) | (Да) |
| Возможность | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|---|
| Базовая поддержка | (Да) | (Да) | (Да) | (Да) | (Да) | (Да) |