От автора: приветствую вас, друзья. В этой статье мы с вами продолжим тему циклов в JavaScript и рассмотрим использование в циклах таких команд, как break и continue. Приступим.
Порой перед вами может встать задача при выполнении определенного условия завершить цикл. Или же пропустить очередную итерацию цикла и перейти к следующей. Эти действия как раз и призваны выполнять команды break и continue. Собственно, по переводу этих слов на русский уже может быть понятно, что они могут делать: break (с англ. перерыв), continue (с англ. продолжить).
Давайте посмотрим примеры использования данных команд на практике. Например такой скрипт:
1 2 3 4 5 6 7 8 |
while(true){ var result = prompt('Наберите что-то... Команда stop остановит выполнение программы', ''); if(result == 'stop'){ alert('Вы остановили выполнение программы'); break; } alert('Вы ввели строку ' + result); } |
Программа будет запрашивать ввод строки и показывать ее в окне alert. Это будет продолжаться до тех пор, пока пользователь не введет команду stop. После этого будет выведен соответствующий alert и выполнение цикла будет прекращено командой break.
Итак, с break разобрались, теперь посмотрим на continue. Эта команда прекращает текущую итерацию цикла и переходит к следующей. Таким образом, continue позволяет прервать выполнение кода для текущей итерации цикла. Давайте попробуем посмотреть пример.
1 2 3 4 5 6 7 8 |
for(var i = 1, res = ''; i <= 10; i++){ if(i == 2 || i == 4 || i == 6 || i == 8 || i == 10) continue; res += i; if(i != 9){ res += ','; } } alert(res); |
Здесь я хочу записывать в переменную res только нечетные числа. Если же число окажется четным, тогда мы пропустим текущую итерацию и перейдем к следующей. На самом деле данный код не является оптимальным. Представьте, что мы хотим вывести нечетные числа от 1 до 100. С таким кодом нам пришлось бы запихнуть 50 условий, для которых должна сработать команда continue. Давайте попробуем немного оптимизировать программу.
1 2 3 4 5 6 7 |
for(var i = 1, res = ''; i <= 10; i += 2){ res += i; if(i != 9){ res += ','; } } alert(res); |
Здесь мы опустили continue и дополнительные условия и просто на каждой итерации увеличиваем значение счетчика не на 1, а на 2. Таким образом, счетчик изначально равен 1, затем 3, 5, 7 и 9. Есть и другие варианты решения данной задачи.
На этом мы завершим данную статью. Если вы хотите больше узнать о JavaScript, тогда рекомендую обратить свое внимание на уроки по JavaScript и отдельный курс по языку JavaScript. Удачи!