continue

Сводка

Инструкция 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 6 (ECMA-262)
Определение 'Continue statement' в этой спецификации.
Кандидат в рекомендации  

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

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

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

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

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