Из предыдущего изучения циклов мы знаем, что по умолчанию цикл автоматически завершается, если результат выражения ложный, в противном случае цикл продолжится. В некоторых случаях нам не нужно ждать автоматического выхода из цикла, но мы можем активно выйти из цикла. JavaScript предоставляет два оператора, Break и continue, для выхода из цикла и выхода (пропуска) текущего цикла.
1. Оператор continue.
Оператор continue используется для пропуска этого цикла и выполнения следующего цикла. При обнаружении оператора continue программа немедленно повторно проверяет условное выражение. Если результат выражения истинен, начинается следующий цикл. Если результат выражения ложный, цикл завершается.
[Пример 1] Используйте оператор continue, чтобы выйти из цикла for:
<script type="text/javascript"> для (вар я = 1; я <10; я++) { если (я % 2 != 0) { продолжать; } console.log(я); } </script>
Анализ:
for (var i = 0; i < 10; i++){}
может выполняться в цикле для получения всех чисел от 1 до 10.
Оператор if(i % 2 != 0)
используется для определения значение i Может ли оно делиться на 2? Если нет, то значение в ()
истинно, и выполняется оператор continue;
В теле цикла используйте оператор if(i % 2 == 0)
чтобы сделать вывод. Если значение i
можно разделить на 2 поровну, используйте " console.log(i);
" для вывода значения; если i
не может быть разделено на 2, вызвать оператор continue;
выйти из этого цикла (нет вывода) и выполнить следующий цикл.
Результат вывода:
2. Оператор Break.
Оператор Break используется для выхода из текущей синтаксической структуры. Он может завершить код тела цикла и немедленно выйти из текущего цикла, а также выполнить код после цикла (если таковой имеется).
Разница между прерыванием и продолжением заключается в том, что оператор continue завершает только текущий цикл, а оператор прерывания завершает выполнение всего цикла.
Если мы продолжим использовать код из примера 1 выше и заменим continue;
на break;
что будет выведено?
<тип сценария="текст/javascript"> для (вар я = 1; я <10; я++) { если (я % 2 != 0) { перерыв; } console.log(я); } </script>
Ответ: ничего не выводить . Почему это происходит? Давайте проанализируем это:
в начале цикла forx i=1
1 меньше 10? Конечно, тогда начинает выполняться оператор if(i % 2 != 0)
в теле цикла,
и тогда может ли 1 разделить 2? Очевидно, что это невозможно, поэтому, если значение в ()
истинно, оператор " break;
" в if выполняется, выскакивая из всего цикла напрямую, и нет возможности выполнить " console.log(i);
" заявление.
3. Вложенные циклы For.
Стоит отметить, что и break
, и continue
действительны только для текущего цикла. Если у нас есть вложенные циклы, нам нужно быть осторожными. Давайте рассмотрим следующий пример:
for (let i = 0; i < 5; i++) { если (i % 2 == 0) продолжить; for (пусть j = 0; j < 5; j++) { если (j == 2) сломать; console.log(`i = ${i}, j = ${j}`); } }
Здесь у нас есть два цикла, каждый из которых выполняется 5 раз (0~4). Если i — четное число, внешний цикл пропускает текущий цикл и выполняет следующий. То есть внутренний цикл будет выполняться только тогда, когда i равно 1 или 3.
Внутренний цикл завершается, пока значение j равно 2. Следовательно, j имеет только 0 и 1.
Окончательный результат выглядит следующим образом:
4. Теги JavaScript.
Начиная с версии JavaScript 1.2, теги можно использовать в сочетании с командой Break, что позволяет более точно контролировать выполнение программы.
Теги в JavaScript отличаются от тегов в HTML. Тег в JavaScript представляет собой идентификатор (аналогичный имени переменной), за которым следует двоеточие:. Теги JavaScript могут быть объявлены перед любым оператором или блоком кода и использоваться вместе с оператором Break или продолжить выход из определенного цикла. Например, когда несколько циклов вложены, простое использование Break может привести только к выходу из текущего цикла. а не внешний цикл. Если вы используете разрыв с метками, вы можете выйти из нескольких уровней циклов одновременно.
Пример кода выглядит следующим образом:
<script type="text/javascript"> document.write("Начать цикл!<br /> "); внешний цикл: //Определяем метку для (var i = 0; i < 5; i++) { document.write("Внешний цикл: " + i + "<br />"); внутренний цикл: // Определить метку для (var j = 0; j < 5; j++) { if (j > 3)break; // Выход из внутреннего цикла if (i == 2) выход из внутреннего цикла // Выход из внутреннего сообщения if (i == 4) выход из внешнего цикла; внешний цикл document.write( "Внутренний цикл: " + j + " <br />"); } } document.write("Конец цикла!<br /> "); </скрипт>
Примечание. Между разрывом или продолжением и меткой не может быть новой строки. Кроме того, между именем метки и соответствующим циклом не может быть никакого другого кода.
[Рекомендуемое обучение: Расширенное руководство по JavaScript]
Выше приведено подробное содержание изучения цикла JS: операторы Break и continue для выхода из цикла. Для получения дополнительной информации обратите внимание на другие соответствующие статьи на китайском веб-сайте PHP!