В этом руководстве вы узнаете, как использовать оператор break
в JavaScript для преждевременного завершения или прерывания цикла.
Оператор label
В JavaScript вы можете пометить оператор для последующего использования. Вот синтаксис оператора label
:
label: statement;
В этом синтаксисе метка может быть любым допустимым идентификатором. Например, ниже показано, как пометить цикл for
с помощью outer
метки:
outer: for (let i = 0; i < 5; i++) { console.log(i); }
После определения метки вы можете сослаться на нее в операторе break
или continue
.
Что такое оператор break в JavaScript?
Оператор break
в JavaScript преждевременно завершает цикл, такой как for
, do...while
и цикл while
, оператор switch
или оператор label
. Вот синтаксис оператора break
:
break [label];
В этом синтаксисе label
необязательна, если вы используете оператор break
в цикле или switch
. Однако, если вы используете оператор break
с оператором метки, вам необходимо указать его.
В этом руководстве основное внимание уделяется тому, как использовать оператор break
для преждевременного завершения цикла.
Использование в цикле for
Следующий оператор цикла for выводит пять чисел от 0
до 4
:
for (let i = 0; i < 5; i++) { console.log(i); }
Выход:
0 1 2 3 4
Чтобы преждевременно завершить цикл for
, вы можете использовать оператор break
. Ниже показано, как использовать оператор break
внутри цикла for
:
for (let i = 0; i < 5; i++) { console.log(i); if (i == 2) { break; } }
Выход:
0 1 2
В этом примере мы используем оператор if
внутри цикла. Если текущее значение i
равно 2
, оператор if
выполняет оператор break
, завершающий цикл.
Эта блок-схема иллюстрирует, как оператор break
работает в цикле for
:
Завершение вложенного цикла
Вложенный цикл имеет один цикл внутри другого. Например, в следующем примере используется вложенный цикл for
для вывода пары чисел от 1
до 3
:
for (let i = 1; i <= 3; i++) { for (let j = 1; j <= 3; j++) { console.log(i, j); } }
Выход:
1 1 1 2 1 3 2 1 2 2 2 3 3 1 3 2 3 3
Если вы используете оператор break
внутри внутреннего цикла, он завершает только объемлющий цикл. Например:
for (let i = 1; i <= 3; i++) { for (let j = 1; j <= 3; j++) { if (i + j == 4) { break; } console.log(i, j); } }
Выход:
1 1 1 2 2 1
В этом примере, если сумма i
и j
равна 4
, оператор break
завершает внутренний цикл. Чтобы завершить вложенный цикл, вы используете оператор метки. Например:
outer: for (let i = 1; i <= 3; i++) { for (let j = 1; j <= 3; j++) { if (i + j == 4) { break outer; } console.log(i, j); } }
Выход:
1 1 1 2
В этом примере мы помечаем внешний цикл меткой outer
. Внутри внутреннего цикла мы указываем outer
метку в операторе break
. Оператор break
для завершения вложенного цикла, если сумма i
и j
равна 4
.
Использование break в цикле while
Следующие пять чисел от 1 до 5 выводятся на консоль с помощью цикла while
:
let i = 0; while (i < 5) { i++; console.log(i); }
Выход:
1 2 3 4 5
Подобно циклу for
, оператор break
прерывает цикл while
преждевременно. Например:
let i = 0; while (i < 5) { i++; console.log(i); if (i == 3) { break; } }
Выход:
1 2 3
В этом примере, когда текущее значение i
равно 3
, оператор break
прерывает цикл. Поэтому в выводе вы видите только три числа.
На следующей блок-схеме показано, как оператор break работает в цикле while
:
Использование оператора break в цикле do…while
В следующем примере оператор do...while
используется для вывода на консоль пяти чисел от 0 до 5:
let i = 0; do { i++; console.log(i); } while (i < 5);
Выход:
1 2 3 4 5
Подобно циклу while
, вы можете использовать оператор break
для завершения цикла do...while
while. Например:
let i = 0; do { i++; console.log(i); if (i == 3) { break; } } while (i < 5);
Выход:
1 2 3
Следующая блок-схема показывает, как оператор break работает в цикле do while
while:
Заключение
- Используйте оператор
break
для преждевременного завершения цикла, в том числеfor
,while
иdo...while
. - При использовании во вложенном цикле оператор
break
прерывает окружающий цикл. Чтобы завершить вложенный цикл, используйте оператор метки.