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.

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® 2025 Language Specification
# sec-continue-statement

Совместимость с браузерами

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
continue

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

Смотрите также