Циклы: while, for
Циклы
Цикл – это такая штука, которая позволяет выполнять какие-либо операции много раз.
Например, с помощью функции alert нам нужно вывести на экран числа от 1 до 3. Как бы ты сейчас это сделал? Если ты не знаешь о том, как работают циклы, ты напишешь примерно так:
alert(1); alert(2); alert(3);
Возможно, в каких-то ситуациях можно допустить такой код – но это нежелательно и считается плохим тоном. И, наконец, представь, что задача изменилась и нужно вывести числа от 1 до 1000 – ты же не хочешь писать 1000 строк? Для того, чтобы облегчить жизнь и придумали циклы.
Цикл while
Цикл имеет следующий синтаксис:
while (условие) { //команды которые нужно выполнить }
Все команды внутри цикла while
выполняются до тех пор, пока условие истинно.
И сразу же переделаем нашу задачу на цикл (живой пример):
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); }
Этот цикл тоже не является сложным. После оператора for, в скобках указываются последовательно: начало, условие, шаг (живой пример).
Первое значение, let i = 1;
означает, что мы определили переменную i
со значением 1
. Это начальное значение переменной, с которым выполнится первый оборот цикла.
Вторым значением, в скобках, является условие, при выполнении которого выполнится тело цикла, а именно функция alert(i);
Третьим значением является указание шага, т.е, насколько нужно увеличить значение i
за один оборот цикла. Т.к, увеличить нам нужно на единицу, то снова пользуемся инкрементом ++
.
Существуют еще некоторые особенности использования циклов, но с ними мы будем знакомится дальше, на практике. Пока же, мы только узнаем о циклах, поэтому сначала нужно привыкнуть к их синтаксису и излишняя информация будет лишней на данной стадии.
P.S. Подробнее об операторах инкремента/декремента расскажу в следующей статье.
Домашняя работа
- Напиши код, который выводит на экран с помощью цикла
while
значения от50
до100
. - Напиши код, который выводит на экран с помощью цикла
do...while
значения от20
до30
; - Напиши код, который выводит на экран с помощью цикла
for
значения от200
до250
;