JavaScript для тупых
  • JavaScript для тупых
  • Главная
  • Об учебнике
  • Формат обучения
  • Ввод в JavaScript. Что это? И для чего нужен?
  • Братки JavaScript-а
  • Переменные в JavaScript
  • Переменные. const, let, var
  • Преобразование типов
  • Операторы сравнения
  • Типы данных. Number
  • Типы данных. String
  • Типы данных. Boolean
  • Типы данных. null и undefined
  • Типы данных. Оператор typeof
  • Условные операторы: if и ?
  • Циклы: while, for
  • Операторы
  • Логические операторы
  • Знакомство с switch
  • Функции
  • Функции. Возврат значения
  • Стрелочные функции
  • Знакомство с DOM
  • DOM-элементы. Получение объектов
  • DOM-элементы. События. Ввод.
  • DOM-элементы. События. Часть 2
  • Объекты. Начало игры
  • Массивы
  • Методы массивов: splice, slice, concat
  • Методы массивов: find, findIndex, filter
  • Методы массивов: map, sort
  • Методы массивов: reverse, split, join
  • Методы массивов: indexOf, lastIndexOf, includes
  • Методы массивов: reduce, spread
  • Методы массивов: Array.isArray, some, every
  • Методы массивов: flat, fill
  • Планирование вызова функции: setTimeout
  • Планирование вызова функции: setInterval
  • Объекты. Свойства.
  • Объекты. Методы
  • this, call, apply, bind
  • Замыкания
  • Прототипы
  • Promises (Обещания)
Powered by GitBook
On this page

Was this helpful?

Циклы: while, for

JavaScript простым языком

PreviousУсловные операторы: if и ?NextОператоры

Last updated 4 years ago

Was this helpful?

Цикл – это такая штука, которая позволяет выполнять какие-либо операции много раз.

Например, с помощью функции alert нам нужно вывести на экран числа от 1 до 3. Как бы ты сейчас это сделал? Если ты не знаешь о том, как работают циклы, ты напишешь примерно так:

alert(1);
alert(2);
alert(3);

Возможно, в каких-то ситуациях можно допустить такой код – но это нежелательно и считается плохим тоном. И, наконец, представь, что задача изменилась и нужно вывести числа от 1 до 1000 – ты же не хочешь писать 1000 строк, верно? Для этого и придумали циклы.

Цикл while

Цикл имеет следующий синтаксис:

while (условие) {
  // команды которые нужно выполнить
}

Все команды внутри цикла while выполняются до тех пор, пока условие истинно (true).

let i = 1;   
while (i <= 3) {
   alert(i);
   i++;
}

Что же здесь происходит?! Пойдем по строкам:

let i = 1; – определяем переменную i со значением 1;

while (i <= 3) { – запускаем цикл while и устанавливаем условие, при выполнении которого цикл будет продолжать работу. Так как нам нужно вывести значения от 1 до 3 и это означает, что цикл должен выполняться до тех пор, пока значение переменной iне станет равным значению 3. Т.е., значение должны быть меньше, либо равны 3. А для того, чтобы значение i изменялось, после каждого выполнения цикла, мы должны увеличивать значение переменной i на единицу (это происходит на строке 4);

alert(i); - выводим текущее значение переменной i;

i++; – увеличение значения переменной i на единицу. Оператор ++ называется инкрементом. Его смысл заключается в том, чтобы увеличивать значение на единицу. Делаем мы это для того, чтобы следующий проход цикла проверил новое условие.

Цикл do…while

Если цикл while сначала проверяет условие и только при его истинности выполняет команды, то цикл do...while – сначала выполняет все команды и только потом начинает проверять условие.

Вот его синтаксис:

let i = 1;  
do {
  alert(i);
  i++;
} while (i <= 3);

Цикл for

Еще один важный цикл, который используется куда чаще – это цикл for.

Синтаксис:

for (let i = 1; i <= 3; i++) {
   alert(i);
}    

Первое значение, let i = 1; означает, что мы определили переменную i со значением 1. Это начальное значение переменной, с которым выполнится первый оборот цикла.

Вторым значением, в скобках, является условие, при выполнении которого выполнится тело цикла, а именно функция alert(i);

Третьим значением является указание шага, т.е, насколько нужно увеличить значение i за один оборот цикла. Т.к, увеличить нам нужно на единицу, то снова пользуемся инкрементом ++.

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

Подробнее об операторах инкремента/декремента расскажу в следующем уроке.

Домашнее задание

  1. Напиши код, который выводит на экран с помощью цикла while значения от 50 до 100.

  2. Напиши код, который выводит на экран с помощью цикла do...while значения от 20 до 30;

  3. Напиши код, который выводит на экран с помощью цикла forзначения от 200 до 250;

И сразу же переделаем нашу задачу под цикл ():

Разница очень маленькая и надеюсь ты ее уловил ().

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

живой пример
живой пример
живой пример
Generic badge