Цикл - операция, предусмотренная для неоднократного повторения одного участка кода до тех пор, пока условие этой операции - истинно.
Цикл используется, когда алгоритм решения задачи требует повторения каких-то действий, и количество этих операций (итераций) заранее неизвестно.
Зачем нужен?
Агрегация Накопление результата во время итераций и работа с ним после цикла. Пр: переворот строки.
Поиск Выполнение цикла просходит до достижения необходимого результата, затем - выход. Пр: поиск простых чисел.
Элементы конструкции цикла
Условие цикла Это ЛЮБОЕ выражение или переменная.
Тело цикла Действие, которое должно выполняться кодом на каждом цикле.
Когда прерывается?
при результате вычисления false;
при помощи специальной директивы break (подробнее о ней в спец. разделе).
Виды циклов
Цикл for Синтаксис: for (начало; условие; шаг) { код (тело цикла); } Начало выполняется один раз, а затем каждая итерация заключается в проверке условия, после которой выполняется тело и шаг.
Цикл for...of Перебирает значения свойств объекта Синтаксис: for (let value of arr) { тело цикла; }
Цикл for...in Перебирает ключи свойств объекта Синтаксис: for (let value in arr) { тело цикла; }
Цикл while Синтаксис : while (условие ) { тело цикла; } Если тело цикла состоит из одной инструкции, можно опустить фигурные скобки
Цикл do...while Альтернативная форма записи цикла while. Синтаксис: do { тело цикла; } while (условие); - Использовать, если надо выполнить тело цикла хотя бы один раз, даже если условие окажется ложным, т.к. с таким синтаксисом цикл сначала выполнит тело, а затем проверит условие (если же значение равно true, он будет выполняться снова и снова).
Как прервать цикл
В результате вычисления false false - это базовая причина завершения жизненного цикла любого цикла.
Через оператор break Оператор break прерывает выполнение текущего цикла и переносит выполнение программы к оператору, следующему за прерванным.
Через оператор continue Оператор continue прерывает выполнение текущего цикла и переносит выполнение программы к оператору, следующему за прерванным. Используется если продолжение текущей итерации цикла бессмысленно.