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

Синтаксис

continue [label]

Аргументы

label
Необязательная метка для перехода к следующей итерации несколькими уровнями циклов выше

Описание, примеры

1 for(i=0; i<10; i++) {
2 if (i<5) continue;
3
4 alert(i) // 5
5 break;
6 }

В противоположность оператору break, continue не останавливает исполнение цикла.

Вместо этого:

  • для цикла while — передает управление на проверку условия цикла
  • для цикла for — передает управление на обновление условия

Оператор continue может содержать необязательную метку. Тогда управление будет передано на следующую итерации внешнего цикла с такой меткой.
Пример: переход на метку

1 top:
2 for(i=0; i<10; i++) {
3 for(j=0; j<10; j++) {
4 if (i==j) continue top;
5 //...
6 }
7 }

В этом примере оператор continue при совпадающих i,j переведет управление сразу на следующую итерацию внешнего цикла по i.

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