continue
Сводка
Инструкция continue прерывает выполнение текущей итерации текущего или отмеченного цикла, и продолжает его выполнение на следующей итерации.
Синтаксис
continue [ label ];
label
-
Идентификатор, являющийся меткой (
label
) инструкции.
Описание
По сравнению с инструкцией break
, continue
прерывает выполнение цикла не полностью, вместо этого:
- В цикле
while
оно переносит поток выполнения к условию.
- В цикле
for
оно переносит поток выполнения к финальному выражению в описании цикла.
Инструкция continue
может использоваться вместе с необязательной меткой, которая будет начинать следующую итерацию отмеченного цикла, а не текущего. В этом случае, continue
должен находиться внутри отмеченного блока, который соответствует метке.
Примеры
Использование continue
с циклом while
Пример показывает использование цикла while
вместе с инструкцией continue, которая выполняется, когда
i
станет равно 3-м. Таким образом, n
принимает значения 1, 3, 7 и 12.
js
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
.
js
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);
}
Вывод:
js
"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