Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Помогите разобраться в совсем простом вопросе (https://javascript.ru/forum/events/58237-pomogite-razobratsya-v-sovsem-prostom-voprose.html)

CraftLawrence 10.09.2015 22:32

Помогите разобраться в совсем простом вопросе
 
Почему этот код
if (500 < 1000 && 700 > 1000)
{
	alert('a');
}
else
{
	alert('b');
}

выдает true?

Lemme 10.09.2015 22:35

Не знаю "что там у вас за true", но - запустите.
if (500 < 1000 && 700 > 1000)
{
	alert(true);
}
else
{
	alert(false);
}

CraftLawrence 10.09.2015 22:38

Цитата:

Сообщение от Lemme (Сообщение 388074)
Не знаю "что там у вас за true", но - запустите.
if (500 < 1000 && 700 > 1000)
{
	alert(true);
}
else
{
	alert(false);
}

Хм. Тоже попробовал на сторонних сервисах, то тоже выдает false =/
У меня в коде конечно все цифры - переменные, но я их даже алертами проверял перед if'ом, на момент этого условия они равны как раз этим значениям, что в моем примере..
Что-то странное. Буду ковырять свой код.

nerv_ 10.09.2015 23:53

CraftLawrence, найди 10 отличий
alert(500 < 1000);
alert('500' < '1000');

Lemme 11.09.2015 00:11

nerv_, как вариант, кстати=)

CraftLawrence 11.09.2015 14:31

Все же есть проблема. Не знаю почему, но при переходе на миллионы появляется косяк. Когда
if (500000>700000)
еще выдает false, то
if (500000>1200000)
уже выдает true

В моем примере выше я просто поубирал нули, чтобы не путать вам глаз.

Не хочу нарваться на шутки про экстрасенсорные способности, но все же спрошу. Может есть какая-то особенность в этом переходе на миллионы, или все же нужно приводить мой код? Просто там дофига и придется объяснять каждую строку.


Часовой пояс GMT +3, время: 22:18.