Оператор break в JS
В этой статье вы познакомитесь с оператором break на конкретных примерах.
Оператор break прерывает выполнение текущего цикла или оператора выбора switch. Выполнение кода продолжается с инструкции, следующей за прерванной конструкцией.
Синтаксис
break [label];
Примечание. label — идентификатор связанной метки. Это необязательный аргумент, который редко используется.
Как это работает
Пример 1. Используем break с циклом for
for (let i = 1; i <= 5; i++) {
// прерываем программу,
// когда i становится равным 3
if (i == 3) {
break;
}
console.log(i);
}
Вывод
1
2
В примере выше мы используем цикл for, чтобы на каждой итерации выводить значение счётчика i.
Когда i становится равным 3, условие i == 3 в цикле становится истинным, и выполняется оператор break. Он прерывает работу цикла for.
Поскольку инструкция console.log(i) стоит после break, число 3 уже не выведется на экран.
Пример 2. Используем break с циклом while
// ищем сумму положительных чисел
// если пользователь вводит отрицательное число, прерываем цикл с помощью break
// отрицательное число не суммируется
let sum = 0, number;
while(true) {
// просим пользователя ввести число, если предыдущее было положительным
number = parseInt(prompt("Введите число: "));
// условие прерывания
if(number < 0) {
break;
}
// если цикл не прерывался, число положительное
// добавляем его к сумме
sum += number;
}
// выводим на экран сумму
console.log(`Сумма введенных положительных чисел: ${sum}.`);
Вывод
Введите число: 1
Введите число: 2
Введите число: 3
Введите число: -5
Сумма введенных положительных чисел: 6.
В приведенной выше программе мы предлагаем пользователю ввести число. Затем с помощью цикла while суммируем числа, введенные пользователем, если они являются положительными.
Когда пользователь вводит отрицательное число (в данном случае -5), оператор break завершает цикл, и управление программы передается за пределы цикла.
То есть цикл while продолжается до тех пор, пока пользователь не введет отрицательное число.
Пример 3. Используем break с вложенными циклами
// внешний цикл for
for (let i = 1; i <= 3; i++) {
// внутренний цикл for
for (let j = 1; j <= 3; j++) {
if (i == 2) {
break;
}
console.log(`i = ${i}, j = ${j}`);
}
}
Вывод
i = 1, j = 1 i = 1, j = 2 i = 1, j = 3 i = 3, j = 1 i = 3, j = 2 i = 3, j = 3
В программе выше, когда i становится равно 2, выполняется оператор break. Он завершает внутренний цикл, и поток управления программы переходит ко внешнему циклу.
Следовательно, значение i = 2 никогда не будет выводится.