Сводка

Инструкция 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' в этой спецификации.
Стандарт  

Поддержка браузерами

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!

Возможность Chrome Firefox (Gecko) Internet Explorer Opera Safari
Базовая поддержка (Да) (Да) (Да) (Да) (Да)
Возможность Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Базовая поддержка (Да) (Да) (Да) (Да) (Да) (Да)

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

Метки документа и участники

Метки: 
Внесли вклад в эту страницу: SphinxKnight, 4eb0da
Обновлялась последний раз: SphinxKnight,