Для примера, мы можем пропустить начало если нам ничего не нужно делать перед стартом цикла.
let i = 0; // мы уже имеем объявленную i с присвоенным значением
for (; i
alert( i ); // 0, 1, 2
}
Пропуск частей «for»
Можно убрать и шаг:
let i = 0;
for (; i
alert( i++ );
}
Это сделает цикл аналогичным while (i
Пропуск частей «for»
А можно и вообще убрать всё, получив бесконечный цикл:
for (;;) {
// будет выполняться вечно
}
При этом сами точки с запятой ; обязательно должны присутствовать, иначе будет ошибка синтаксиса.
Прерывание цикла: «break»
Обычно цикл завершается при вычислении условия в false.
Но мы можем выйти из цикла в любой момент с помощью специальной директивы break.
Прерывание цикла: «break»
следующий код подсчитывает сумму вводимых чисел до тех пор, пока посетитель их вводит, а затем – выдаёт
let sum = 0;
while (true) {
let value = +prompt("Введите число", '');
if (!value) break; // (*)
sum += value;}
alert( 'Сумма: ' + sum );
Переход к следующей итерации: continue
Директива continue – «облегчённая версия» break. При её выполнении цикл не прерывается, а переходит к следующей итерации (если условие все ещё равно true).
Её используют, если понятно, что на текущем повторе цикла делать больше нечего.
Переход к следующей итерации: continue
Например, цикл ниже использует continue, чтобы выводить только нечётные значения:
for (let i = 0; i
// если true, пропустить оставшуюся часть тела цикла
if (i % 2 == 0) continue;
alert(i); // 1, затем 3, 5, 7, 9
}
Переход к следующей итерации: continue
Директива continue позволяет избегать вложенности
Цикл, который обрабатывает только нечётные значения, мог бы выглядеть так:
for (let i = 0; i
if (i % 2) {
alert( i );
}
}
for (let i = 0; i
if (i % 2 == 0) continue;
alert(i);
}
Задания
Вывести все четные значения от 2 до 33 используя цикл for
Вывести все четные значения от 2 до 33 используя цикл while
Игра “Угадай число”. Пользователь вводит значение, пока не угадает загаданное вами число