Зарегистрируйтесь для доступа к 15+ бесплатным курсам по программированию с тренажером

Цикл for Основы языка JavaScript

Цикл while идеален для ситуаций, когда количество итераций неизвестно заранее, например, при поиске простого числа. Когда количество итераций известно, предпочтительнее использовать цикл for.

Посмотрим реализацию переворота строки через цикл for:

const reverseString = (str) => {
  let result = '';
  for (let i = 0; i < str.length; i += 1) {
    result = `${str[i]}${result}`;
  }

  return result;
};

Можно читать так: цикл с индексом i повторяется пока i < str.length и после каждого шага увеличивает i на 1.

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

  1. Начальное значение счётчика. Этот код выполняется ровно один раз перед первой итерацией.
  2. Предикат — условие повторения циклов. Выполняется на каждой итерации. Точно так же как и в while
  3. Описание изменения счётчика. Этот код выполняется в конце каждой итерации.

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

В определении for не обязательно указывать все три выражения. Если не указать условие повторения цикла, то цикл будет выполняться бесконечно:

let i = 1;
// Можно даже не указывать все три выражения
for (;;) {
  console.log(i);
  i += 1;
}

Аватары экспертов Хекслета

Остались вопросы? Задайте их в разделе «Обсуждение»

Вам ответят команда поддержки Хекслета или другие студенты.

Открыть доступ

Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно.

  • 130 курсов, 2000+ часов теории
  • 1000 практических заданий в браузере
  • 360 000 студентов
Даю согласие на обработку персональных данных, соглашаюсь с «Политикой конфиденциальности» и «Условиями оказания услуг»

Наши выпускники работают в компаниях:

Логотип компании Альфа Банк
Логотип компании Aviasales
Логотип компании Yandex
Логотип компании Tinkoff
Рекомендуемые программы

С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.

Иконка программы Фронтенд-разработчик
Профессия
Разработка фронтенд-компонентов для веб-приложений
11 августа 10 месяцев
Иконка программы Node.js-разработчик
Профессия
Разработка бэкенд-компонентов для веб-приложений
11 августа 10 месяцев
Иконка программы Fullstack-разработчик
Профессия
Новый
Разработка фронтенд- и бэкенд-компонентов для веб-приложений
11 августа 16 месяцев

Используйте Хекслет по максимуму!

  • Задавайте вопросы по уроку
  • Проверяйте знания в квизах
  • Проходите практику прямо в браузере
  • Отслеживайте свой прогресс

Зарегистрируйтесь или войдите в свой аккаунт

Даю согласие на обработку персональных данных, соглашаюсь с «Политикой конфиденциальности» и «Условиями оказания услуг»