@denisopko
Стремлюсь стать выше)

Почему цикл while выводит числа от 1 до 5?

Не могу понять, почему цикл while:
let i = 0;
while (i++ < 5){
  alert( i );
}

выведет цифры от 1 до 5?
Знаю, что постфиксный инкремент возвращает новое значение, но выводит старое. Но все равно не понимаю, почему именно от 1 до 5, если вход в цикле выполняется сразу же (i = 0, как у цикла for) и должно начинаться уже от 0. Или же у цикла while другая последовательность шагов?
Может кто-то расписать послед. шагов цикла выше?
  • Вопрос задан
  • 411 просмотров
Пригласить эксперта
Ответы на вопрос 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
let i = 0;         // i = 0
while (i++ < 5) {  // i = 0 сравнивают с 5. Меньше. Ок. 
                   // После этого i стало = 1
  alert( i );      // вывели 1
}

                   // следующая итерация
while (i++ < 5) {  // i = 1 сравнивают с 5. Меньше. Ок. 
                   // После этого i стало = 2
  alert( i );      // вывели 2

                   // следующие итерации
                   // i = 2 -> 3
                   // i = 3 -> 4
                   // i = 4 -> 5

                   // следующая итерация
while (i++ < 5) {  // i = 5 сравнивают с 5. Не меньше. Равно. Не ок!
                   // вышли из цикла
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы