Онлайн-курсы по JavaScript
Выбрать другой урок из курса
Обсуждение
Теория урока

Циклы: инструкция while в JavaScript

Уже из слова «цикл» понятно, что делает эта инструкция. Инструкция while зацикливает (повторяет многократно) один и тот же участок кода. В языке JavaScript есть четыре вида циклов: while, do/while, for, for/in.

Пример 1
while (выражение) {
    инструкция
}

Инструкция while вначале вычисляет выражение. Если выражение ложное, то инструкция while пропускается, иначе инструкция while выполняет тело цикла (все то, что находится в фигурных скобках), после выполнения выражение опять проверяется и так по кругу, пока выражение не станет ложным. Суть цикла в том, что значения внутри цикла должны изменяться, иначе цикл будет бесконечным. Пример счета от 0 до 5.

Пример 2
var num = 0; // Обязательно обнуляем счетчик
while (num < 6) {
    document.write('Число ' + num + '<br>');
    num++; // Увеличиваем счетчик, иначе цикл будет бесконечным
}

Вначале переменную num нужно инициализировать и обнулить. Затем внутри цикла увеличиваем ее значение, дабы не попасть в бесконечный цикл. И когда переменная num будет равна 6, то выражение станет ложным и цикл while будет пропущен.

Например, вы можете внутрь цикла while, написать инструкцию if или наоборот. Далее пример программы, которая выводит все четные числа на отрезке от 0 до 20:

Пример 3
var num = 1;
while (num < 20) {
    if (num % 2 === 0) {
        document.write(num + '<br>');
    }
    num++;
}

В данном примере if проверяет: если число делится на два без остатка, то оно четное

Например, вам нужно найти первые 20 нечетных чисел на отрезке от 199 до скольки получится:

Пример 4
var num = 0; // Счетчик выведенных
var figure = 199; // Начальное число
while (num < 20) {
    if (figure % 2 !== 0) {
        document.write(figure + '<br>');
        num++;
    }
    figure++;
}
<
×
>
Не публикуйте свой код прямо в комментариях. Во-первых, он плохо отображается. Во-вторых, он может содержать для кого-то «спойлеры», т.е. ответы на практику. Воспользуйтесь специальными сервисами: cssdeck.com или jsfiddle.net.
Комментарии, содержащие код (пару строк не считается), будут безжалостно удаляться.