我尝试将负值与“0”进行比较,但这似乎不起作用。
var number = Number.parseInt($(this).val());
var min = Number.parseInt($(this).attr('min'));
var max = Number.parseInt($(this).attr('max'));
这是我的情况:
if (min && $(this).prop('required')) {
if (number < min) {
alert('ok');
fail = true;
}
}
My min value is 0 and my number is -1.
它永远不会进入该条件。为什么?
最佳答案
0
是 falsy
值(value)。如果 min
为 0
,则永远不会进入 if
条件。
以下所有条件都会被发送到 else block
if (false)
if (null)
if (undefined)
if (0)
if (NaN)
if ('')
if ("")
if (``)
由于 parseInt
的返回值要么是数字,要么是 NaN
,因此您可以使用 isNaN
相反:
if(!isNaN(min) && $(this).prop('required')) {
// your code
}
关于Javascript 数字与负值的比较不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54865870/