Я уверен, что следующий ведет себя неправильно (по крайней мере, на мой взгляд) из-за какой-то truthiness сумасшествия:Строгий Значение сравнения (меньше/больше)
var x = 5;
0 < x < 10 // True, and returns true.
0 < x < 2 // False, and returns true.
0 < x < 0 // False, and returns false.
Как я понять это, (0 < 5) оценивает значение true, и (true < 2) также оценивается как истинный (то есть, 1 < 2). Я проверил это с третьим утверждением, которое, похоже, подтверждает мою теорию. Теперь на вопрос: есть ли способ сделать эту «работу» без большого количества дополнительного кода?
Если вы используете это в условном выражении, почему бы не использовать '0
Три человека менее чем за минуту ... ну, я думаю, я могу смело награждать себя «немым вопросом». – Casey
как я не говорю, используйте &&, чтобы объединить сравнения, а не цеплять их так. Второй возвращает true, потому что 5> 0 оценивается как true, а затем через javascript funkiness, который позволяет сравнивать логическое и числовое значение true <2, и, следовательно, вся вещь возвращает true. – ameer