continue
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Сводка
Инструкция 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";
Спецификации
Specification |
---|
ECMAScript Language Specification # sec-continue-statement |
Совместимость с браузерами
BCD tables only load in the browser