Цикл while JS (JavaScript)
Основная цель в JavaScript while - повторно запускать определенный фрагмент кода, снова и снова. Он очень похож на цикл for с одним важным отличием. Позвольте мне занять немного вашего времени, чтобы объяснить разницу между этими двумя типами циклов.
В чем разница между циклами while js и for js?
Разница между этими циклами заключается в том, как они прекращают выполнение фрагмента кода.
Цикл for выполняется установленное количество итераций. Мы точно знаем, сколько раз цикл выполнит заключенный в его теле фрагмент кода.
В while все происходит по-другому. Цикл while JS (JavaScript( выполняется, пока истинно определенное условие. После того, как условие расценивается как ложное, тогда цикл while прекращается.
Причина, по которой эти циклы различаются между собой, заключается в том, что мы не обязательно можем заранее знать, когда заданное условие перестанет выполняться. Поэтому мы не можем предсказать, сколько итераций цикла while будет выполнено, пока он не будет разорван.
Плюсы и минусы цикла while
Позвольте мне начать с рассмотрения единственного существенного "минуса" цикла while. Он может работать вечно!
Если окажетесь в ситуации, когда цикл while продолжит выполняться до бесконечности, то ваша программа застрянет (или зависнет). Тогда нужно закрыть браузер, чтобы прервать выполнение кода JavaScript.
Должен отметить, что неуправляемый в JavaScript while loop обычно не работает вечно. Потому что, как программисты мы всегда обязаны удостовериться, что в какой-то момент условие нашего цикла while станет false.
Теперь относительно "плюсов" - они весьма очевидны. While будет непрерывно работать до тех пор, пока выполняется условие. В качестве примера использования цикла while можно привести запрос к пользователю ввести данные. Цикл будет предлагать ввести данные снова и снова, пока пользователь не введет корректные данные.
Синтаксис цикла while
Синтаксис циклов for и while очень похож.
Нужно использовать ключевое слово while, а также определить условие, при котором цикл будет выполняться. Как и другие управляющие структуры, цикл while определяет область действия.
Вот, как должен выглядеть код:
while ([condition(s)])
{
// вставьте сюда код, который должен выполняться циклично
}
Самая трудная часть - это определить, какое условие или условия нужно поместить в цикл, чтобы он работал должным образом.
Следует помнить, что пока условие является истинным, цикл будет продолжать работать. Давайте рассмотрим пример использования в JavaScript while.
Пример цикла while
Предположим, что мы хотим попросить пользователя ввести число от 1 до 10. Но что произойдет, если он введет неправильное число?
В этом случае мы должны попросить его снова ввести значение, и проверить, соблюдено ли условие (введено ли число от 1 до 10).
Это случай, в котором цикл for с треском бы провалился. Потому что мы не можем заранее знать, сколько раз нам придется попросить пользователя ввести корректное число. В таком случае к нам на помощь приходит цикл while.
Вот как может выглядеть наш код:
var theNumber = prompt("Пожалуйста, введите число от 1 до 10.");
while (theNumber < 1 || theNumber > 10 || isNaN(theNumber))
{
theNumber = prompt("Введено неправильное значение, пожалуйста, введите число от 1 до 10!");
}
alert("Отлично! Вы ввели число: " + theNumber);
Стоит отметить, что в приведенном выше примере у нас используется три отдельных условия в цикле while JavaScript.
Вот эти три условия: theNumber 10 || isNaN(theNumber). Они указывают следующее:
- ЕСЛИ theNumber меньше 1, ИЛИ;
- ЕСЛИ theNumber больше 10, ИЛИ;
- ЕСЛИ theNumber - это НЕ число, то продолжить цикл.
Так как мы используем оператор ИЛИ (||) между всеми условиями, это означает, что если любое из условий истинно, то общее условие цикла while будет оценено как true, и выполнение цикла будет продолжено.
Только в том случае, если все три условия оцениваются как false, общее условие цикла while будет оценено, как false, и он будет остановлен.
Заключение
JavaScript while loop является единственным реальным циклом в языках программирования. for является просто частной разновидностью цикла while.
Это тот случай, когда вы можете самостоятельно воссоздать цикл for, используя синтаксис цикла while, смотрите и учитесь:
var counter = 0;
while (counter < 10)
{
counter = counter + 1;
console.log("The counter is currently at: " + counter);
}
Код будет повторяться ровно 10 раз, не больше и не меньше. Это в точности так, работает цикл for.
Не нужно бояться использовать JavaScript while. Так как без него множество приложений просто не работали бы должным образом!
Я надеюсь, вам понравилась эта статья.