Циклы: 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;