JavaScript

Какого она выводит 6

var x=0
While(x<6){x++}
document.write(x); // выводит 6 какого хрена почему? тут написано условие не больше 6

var x=0
if(x<6){x++}
document.write(x); // выводит один и почему вообще не понятно

Какой мyдак придумал такую логику покажите мне его я ему плюну в рожу
Всё правильно. В первом примере значение становится равно 6, цикл завершается, значение выводится.
Во втором примере выполняется x++, поскольку x<6.
Надо прослеживать выполнение программы по шагам.
Андрей Сидорин
Андрей Сидорин
36 282
Лучший ответ
Александр Фролов Где ты там сравнение увидел? ==
Во втором пример x<6 как оно может вывести 6 если x<6 по такой логике 6<6 что не верно
Плюнь в зеркало. Никто не виноват в том, что ты тупой. Кроме тебя...
Марат Каюмов
Марат Каюмов
66 984
Александр Фролов Ну давай объясняй раз такой умный
While(x<6){x++}
Цикл прервется когда условие станет false. В данном случае - когда значение переменной x станет равно 6 (5<6===true, 6<6===false).

if(x<6){x++}
Хз что тут может быть непонятного: если значение x меньше 6, то увеличить его на единицу. До оператора в переменной было значение 0 - значит, после него станет 1.
Цикл работает правильно.
Перед циклом устанавливаем в х значение 0:
х = 0
Далее выполняется цикл
Шаг 1: в while проверяем: 0 < 6 - вернно, увеличиваем х на 1, теперь х равен 1
Шаг 2: в while проверяем: 1 < 6 - верно, увеличиваем х на 1, теперь х равен 2
Шаг 3: в while проверяем: 2 < 6 - верно, увеличиваем х на 1, теперь х равен 3
Шаг 4: в while проверяем: 3 < 6 - верно, увеличиваем х на 1, теперь х равен 4
Шаг 5: в while проверяем: 4 < 6 - верно, увеличиваем х на 1, теперь х равен 5
Шаг 6: в while проверяем: 5 < 6 - верно, увеличиваем х на 1, теперь х равен 6
Шаг 7: в while проверяем: 6 < 6 - неверно, завершаем цикл; в х по-прежнему остается значение 6
Ты сначала меняешь значение, а потому выводишь, конченный!
делай через do while
Руслан Зленко
Руслан Зленко
3 359

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