Инструкция break
Инструкция break приводит к немедленному выходу из самого внутреннего цикла или инструкции switch. Синтаксис ее прост:
Break;
Инструкция break приводит к выходу из цикла или инструкции switch, поэтому такая форма break допустима только внутри этих инструкций.
JavaScript допускает указание имени метки за ключевым словом break:
break: имя_метки;
Обратите внимание: имя_метки – это просто идентификатор; за ним не указывается двоеточие, как в случае определения метки инструкции.
Когда break используется с меткой, происходит переход в конец именованной инструкции или прекращение ее выполнения; именованной инструкцией может быть любая инструкция, внешняя по отношению к break. Именованная инструкция не обязана быть циклом или инструкцией switch; инструкция break, использованная с меткой, даже не обязана находиться внутри цикла или инструкции switch. Единственное ограничение на метку, указанную в инструкции break, - она должна быть именем внешней по отношению к break инструкции. Метка может быть, например, именем инструкции if или даже блока инструкций, заключенных в фигурные скобки только для присвоения метки этому блоку.
Между ключевым словом break и именем метки перевод строки не допускается. Дело в том, что интерпретатор JavaScript автоматически вставляет пропущенные точки с запятой. Если разбить строку кода между ключевым словом break и следующей за ним меткой, интерпретатор предположит, что имелась в виду простая форма этой инструкции без метки, и добавит точку с запятой.
Следующий фрагмент выполняет поиск определенного значения среди элементов массива. Цикл прерывается естественным образом, когда доходит до конца массива; если искомое значение найдено, он прерывается с помощью инструкции break:
for(i = 0; i < a.length; i++) {
if (a[i] == target)
Break;
}
Форма инструкции break с меткой требуется только во вложенных циклах или в инструкции switch при необходимости выйти из инструкции, не являющейся самой внутренней.
Следующий пример показывает помеченные циклы for и инструкции break с метками. Проверьте, удастся ли вам понять, каким будет результат работы этого фрагмента:
outerloop:
for(var i = 0; i < 10; i++) {
innerloop:
for(var j = 0; j < 10; j++) {
if (j > 3) break; // Выход из самого внутреннего цикла
if (i == 2) break innerloop; // То же самое
if (i == 4) break outerloop; // Выход из внешнего цикла
document.write("i = " + i + " j = " + j + "<br>");
} }
document.write("FINAL i = " + i + " j = " + j + "<br>");
Дата добавления: 2015-08-01; просмотров: 744;