Статьи

JavaScript Loop Control с разрывом и продолжением

  1. Заявление о перерыве
  2. Блок-схема
  3. пример
  4. Выход
  5. Продолжение заявления
  6. пример
  7. Выход
  8. Использование меток для управления потоком
  9. Пример 1
  10. Выход
  11. Пример 2
  12. Выход

Объявления

JavaScript предоставляет полный контроль для обработки циклов и операторов переключения. Может возникнуть ситуация, когда вам нужно выйти из цикла, не достигнув его дна. Также может возникнуть ситуация, когда вы захотите пропустить часть своего блока кода и начать следующую итерацию цикла.

Для обработки всех таких ситуаций JavaScript предоставляет операторы break и continue . Эти операторы используются для немедленного выхода из любого цикла или для запуска следующей итерации любого цикла соответственно.

Заявление о перерыве

Оператор break , который был кратко введен вместе с оператором switch , используется для раннего выхода из цикла, выполняя выходящие из фигурных скобок.

Блок-схема

Блок-схема оператора break будет выглядеть следующим образом:

Блок-схема оператора break будет выглядеть следующим образом:

пример

Следующий пример иллюстрирует использование оператора break с циклом while. Обратите внимание, как цикл прерывается раньше, когда x достигает 5 и достигает оператора document.write (..) чуть ниже закрывающей фигурной скобки -

Live Demo

<html> <body> <script type = "text / javascript"> <! - var x = 1; document.write ("Вход в цикл <br />"); while (x <20) {if (x == 5) {перерыв; // полностью выходит из цикла} x = x + 1; document.write (x + "<br />"); } document.write ("Выход из цикла! <br />"); // -> </ script> <p> Установите для переменной другое значение, а затем попробуйте ... </ p> </ body> </ html>

Выход

Вход в цикл 2 3 4 5 Выход из цикла! Установите переменную в другое значение, а затем попробуйте ...

Мы уже видели использование оператора break внутри оператора switch .

Продолжение заявления

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

пример

Этот пример иллюстрирует использование оператора continue с циклом while. Обратите внимание, как оператор continue используется для пропуска печати, когда индекс, содержащийся в переменной x, достигает 5 -

Live Demo

<html> <body> <script type = "text / javascript"> <! - var x = 1; document.write ("Вход в цикл <br />"); в то время как (х <10) {х = х + 1; if (x == 5) {продолжить; // пропустить остаток тела цикла} document.write (x + "<br />"); } document.write ("Выход из цикла! <br />"); // -> </ script> <p> Установите для переменной другое значение, а затем попробуйте ... </ p> </ body> </ html>

Выход

Вход в цикл 2 3 4 6 7 8 9 10 Выход из цикла! Установите переменную в другое значение, а затем попробуйте ...

Использование меток для управления потоком

Начиная с JavaScript 1.2, метка может использоваться с break и продолжать более точно контролировать поток. Метка - это просто идентификатор, за которым следует двоеточие (:), которое применяется к выражению или блоку кода. Мы увидим два разных примера, чтобы понять, как использовать метки с break и продолжить.

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

Попробуйте следующие два примера для лучшего понимания меток.

Пример 1

В следующем примере показано, как реализовать Label с помощью оператора break.

Live Demo

<html> <body> <script type = "text / javascript"> <! - document.write ("Вход в цикл! <br />"); externalloop: // Это имя метки для (var i = 0; i <5; i ++) {document.write ("Outerloop:" + i + "<br />"); innerloop: for (var j = 0; j <5; j ++) {if (j> 3) break; // Выходим из самого внутреннего цикла, если (i == 2) break innerloop; // Делаем то же самое, если (i == 4) break externalloop; // Выходим из внешнего цикла document.write ("Innerloop:" + j + "<br />"); }} document.write ("Выход из цикла! <br />"); // -> </ script> </ body> </ html>

Выход

Вход в петлю! Внешняя петля: 0 Внутренняя петля: 0 Внутренняя петля: 1 Внутренняя петля: 3 Внешняя петля: 1 Внутренняя петля: 0 Внутренняя петля: 1 Внутренняя петля: 2 Внутренняя петля: 3 Внешняя петля: 2 Внешняя петля: 3 Внутренняя петля: 0 Внутренняя петля: 1 Внутренняя петля: 2 Внутренняя петля: 3 4 Выход из цикла!

Пример 2

Live Demo

<html> <body> <script type = "text / javascript"> <! - document.write ("Вход в цикл! <br />"); externalloop: // Это имя метки для (var i = 0; i <3; i ++) {document.write ("Outerloop:" + i + "<br />"); for (var j = 0; j <5; j ++) {if (j == 3) {продолжить внешнюю петлю; } document.write ("Innerloop:" + j + "<br />"); }} document.write ("Выход из цикла! <br />"); // -> </ script> </ body> </ html>

Выход

Вход в петлю! Внешняя петля: 0 Внутренняя петля: 0 Внутренняя петля: 1 Внутренняя петля: 2 Внешняя петля: 1 Внутренняя петля: 0 Внутренняя петля: 2 Внешняя петля: 2 Внутренняя петля: 2 Внутренняя петля: 0 Внутренняя петля: 1 Внутренняя петля: 2 Выход из цикла!

2011.11.19
Карта