Continue имя_метки;
Инструкция continue как в форме без метки, так и с меткой может использоваться только в теле циклов while, do/while, for и for/in. Использование ее в любых других местах приводит к синтаксической ошибке.
Когда выполняется инструкция continue, текущая итерация цикла прерывается и начинается следующая. Для разных типов циклов это означает разное:
• В цикле while указанное в начале цикла выражение проверяется снова, и если оно равно true, тело цикла выполняется сначала.
• В цикле do/while исполнение переходит в конец цикла, где перед повторным исполнением цикла снова проверяется условие.
• В цикле for вычисляется выражение инкремента и снова проверяется выражение проверки, чтобы определить, следует ли выполнять следующую итерацию.
• В цикле for/in цикл начинается заново с присвоением указанной переменной имени следующего свойства.
Обратите внимание на различия в поведении инструкции continue в циклах while и for – цикл while возвращается непосредственно к своему условию, а цикл for сначала вычисляет выражение инкремента, а затем возвращается к условию.
В следующем примере показано использование инструкции continue без метки для выхода из текущей итерации цикла в случае ошибки:
for(i = 0; i < data.length; i++) {
if (data[i] == null)
continue; // Продолжение с неопределенными данными невозможно
total += data[i];
}
Инструкция continue, как и break, может применяться во вложенных циклах в форме, включающей метку, и тогда заново запускаемый цикл – это не обязательно цикл, непосредственно содержащий инструкцию continue. Кроме того, как и для инструкции break, переводы строк между ключевым словом continue и именем метки не допускаются.
Дата добавления: 2015-08-01; просмотров: 728;