Прикладной код

Конструкция «Continue»

Конструкция «Continue»

Прерывает выполнение итерации текущего или отмеченного цикла. Продолжает его выполнение на следующей итерации.

Синтаксис

continue [Метка];

Параметры

  • Метка — идентификатор метки конструкции.

Описание

Оператор continue схож с оператором break. Однако вместо выхода из цикла оператор continue запускает новую итерацию цикла. Оператор continue может также использоваться с меткой.

Как в форме без метки, так и с меткой, continue может использоваться только в теле цикла. Использование его в любых других местах приводит к синтаксической ошибке. Когда выполняется оператор continue, текущая итерация цикла прерывается и начинается следующая. Для разных типов циклов это означает разное:

  • В цикле do...while происходит переход в конец цикла, где перед повторным выполнением цикла снова проверяется условие.
  • В цикле for вычисляется выражение инкремента и снова вычисляется выражение проверки. Это нужно чтобы определить, следует ли выполнять следующую итерацию.
  • В цикле for...in цикл начинается заново с присвоением указанной переменной имени следующего свойства.

Оператор continue, как и break, может применяться во вложенных циклах в форме, которая включает метку. В этом случае запускаемым циклом необязательно будет цикл, который содержит оператор continue. Как и для break, переводы строк между ключевым словом continue и именем метки не допускаются.

Примеры

for (i = 0; i < 10; i++) {
 if (i < 5) continue;


 alert(i) // 5
 break;
}

Переход на метку

// Оператор continue при совпадающих i,j переведет управление сразу на следующую итерацию внешнего цикла по i.
top:
 for (i = 0; i < 10; i++) {
  for (j = 0; j < 10; j++) {
   if (i == j) continue top;
   //...
  }
 }