В этом руководстве вы узнаете, как использовать оператор 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прерывает окружающий цикл. Чтобы завершить вложенный цикл, используйте оператор метки.
