JavaScript Циклы for, while, do…while: Уроки для начинающих

Циклы — специальные конструкции для многократного выполнения кода. В JavaScript три основных типа циклов: for, while и do…while. Рассмотрим каждый.

Цикл for

Синтаксис цикла for:

for (начальное_значение; условие; изменение_переменной) {
  // Код, который будет выполняться в цикле
}
  • начальное_значение: Инициализация переменной управления циклом. Обычно числовая (хотя может быть и другого типа). Например: let i = 0;
  • условие: Выражение, проверяемое перед каждой итерацией. Если истинно — цикл продолжается; если ложно — завершается. Пример: i < 10;
  • изменение_переменной: Выражение, выполняемое после каждой итерации, обычно изменяющее значение управляющей переменной. Например: i++;

Пример: Вывод чисел от 0 до 9:

for (let i = 0; i < 10; i++) {
  console.log(i);
}

Для единственной строки кода фигурные скобки можно опустить, но это не рекомендуется для читаемости.

Пример с другими условиями: Вывод чисел от 100 до 5 с шагом -25:

for (let i = 100; i > 5; i /= 2) {
  console.log(i);
}

Цикл while

Цикл while выполняет код, пока условие истинно. Синтаксис:

let j = 0; // Инициализация переменной
while (j < 10) {
  console.log(j);
  j++; // Изменение переменной
}

В отличие от for, инициализация и изменение переменной происходят вне цикла. Фигурные скобки обычно обязательны.

Пример с другим условием:

let j = 1000;
while (j >= 100) {
  console.log(j);
  j -= 100;
}

Пример с булевой переменной:

let isRunning = true;
while (isRunning) {
  // Код, который будет выполняться, пока isRunning = true
  // ... логика, меняющая isRunning на false (иначе — бесконечный цикл)
}

Предупреждение: Бесконечные циклы (условие всегда истинно) могут зависать компьютер. Убедитесь, что условие цикла while в итоге станет ложным.

Цикл do…while

Цикл do…while похож на while, но гарантированно выполняется хотя бы один раз. Синтаксис:

let x = 100;
do {
  console.log(x);
} while (x < 50);

Код внутри do выполняется, затем проверяется условие в while.

Операторы break и continue

  • break: Выход из цикла, независимо от условия.
  • continue: Пропуск текущей итерации и переход к следующей.

Пример с break:

for (let i = 10; i <= 20; i += 2) {
  if (i > 15) {
    break;
  }
  console.log(i);
}

Пример с continue:

for (let i = 10; i <= 20; i++) {
  if (i % 2 === 0) {
    continue;
  }
  console.log(i);
}

Перебор массива с помощью цикла for

Цикл for удобен для перебора массивов.

let myArray = [5, 7, 38, 9, "строка"];
for (let i = 0; i < myArray.length; i++) {
  console.log(`Элемент ${i + 1}: ${myArray[i]}`);
}

Пример с модификацией элементов:

for (let i = 0; i < myArray.length; i++) {
  myArray[i] *= 2;
  console.log(`Элемент ${i + 1}: ${myArray[i]}`);
}

В JavaScript три основных типа циклов: for, while и do…while. Выбор зависит от задачи. Операторы break и continue управляют выполнением цикла. Цикл for удобен для перебора массивов.

Что будем искать? Например,программа