Циклы for, while и do...while в JavaScript

Изучаем циклы в JavaScript: for, while, do...while. Пошаговые примеры, пояснения и типичные ошибки.

Зачем нужны циклы в JavaScript

Цикл — это конструкция, которая позволяет выполнять одно и то же действие много раз. Например, вывести числа от 1 до 10, пройтись по массиву или повторить проверку до нужного результата.

Без циклов пришлось бы копировать одинаковый код снова и снова. Это неудобно и неэффективно.

Практическое применение - где применяются циклы на JS

Циклы часто нужны при работе со списками товаров, комментариями, формами или таблицами. Например, чтобы показать все элементы массива:

Скопировать
let products = ["Хлеб", "Молоко", "Сыр"];

for (let i = 0; i < products.length; i++) {
  console.log("Товар:", products[i]);
}

Такой код пригодится при создании интернет-магазина, списка задач или генерации элементов на сайте.

Цикл for

Цикл for — самый часто используемый. Он состоит из трёх частей:

  • инициализация (с чего начать)
  • условие (когда остановиться)
  • шаг (как изменяется счётчик)
Скопировать
for (let i = 1; i <= 5; i++) {
  console.log("Повтор №", i);
}

Этот код выполнится 5 раз: с i = 1 до i = 5.

Цикл while

while выполняется, пока условие истинно. Используется, когда заранее не известно, сколько раз нужно повторить.

Скопировать
let count = 1;

while (count <= 3) {
  console.log("Шаг", count);
  count++;
}

Важно не забыть изменить переменную внутри цикла, иначе получится бесконечный цикл.

Цикл do...while

Этот цикл сначала выполняет код, а потом проверяет условие. То есть он выполнится минимум один раз — даже если условие сразу ложно.

Скопировать
let n = 0;

do {
  console.log("n =", n);
  n++;
} while (n < 2);

Когда какой цикл использовать

  • for — когда точно знаешь, сколько раз нужно повторить.
  • while — когда повтор зависит от внешнего условия.
  • do...while — если нужно выполнить хотя бы один раз.

Когда использовать for

Цикл for подходит, когда известно точное количество повторов. Например, вывести 10 строк или пройтись по массиву с 5 элементами.

Пример: вывести числа от 1 до 5.

Скопировать
for (let i = 1; i <= 5; i++) {
  console.log("Номер:", i);
}

Ты заранее знаешь, что цикл должен выполниться 5 раз. Это типичный случай для for.

Когда использовать while

while используется, когда заранее неизвестно, сколько раз выполнять цикл. Цикл продолжается, пока условие истинно.

Пример: ждать, пока пользователь введёт правильный PIN.

Скопировать
let pin = "";

while (pin !== "1234") {
  pin = prompt("Введите PIN:");
}

Ты не знаешь, сколько раз пользователь будет ошибаться — поэтому while лучше всего.

Когда использовать do...while

do...while полезен, когда нужно выполнить действие хотя бы один раз, даже если условие потом окажется ложным.

Пример: минимум один раз показать подсказку пользователю.

Скопировать
let showHelp = false;

do {
  console.log("Подсказка: нажмите Enter для продолжения.");
} while (showHelp);

Подсказка появится хотя бы один раз, даже если showHelp сразу false.

Типичные ошибки новичков

  • Забывают увеличивать счётчик — цикл зацикливается.
  • Условия вроде i = 10 вместо i == 10.
  • Внутри цикла пишут лишние команды, и он «тормозит» или «зависает».

Совет: Перед тем как запускать цикл, прикинь, сколько раз он должен выполниться. Это помогает избежать бесконечных повторов.

Что дальше

В следующем уроке: функции. Научимся создавать команды, которые можно вызывать многократно с разными данными.