model.qty = (parseInt($('#amendOrderQty').val()) == NaN) ?
0 :
parseInt($('#amendOrderQty').val());
// model.qty === NaN when #amendOrderQty is left blank
我试图在字段留空时设置为0。为什么这不起作用?为什么这会返回NaN?
model.qty = (parseInt($('#amendOrderQty').val()) == NaN) ?
0 :
parseInt($('#amendOrderQty').val());
// model.qty === NaN when #amendOrderQty is left blank
我试图在字段留空时设置为0。为什么这不起作用?为什么这会返回NaN?
鉴于此,您应该
isNan(parseInt($('#amendOrderQty').val()))
你的代码重构和固定的,应该是这个样子更换
parseInt($('#amendOrderQty').val()) == NaN
使用“isFin ite“来代替。
var x = parseInt($('#amendOrderQty').val();
model.qty = isFinite(x) ? x : 0;
您不能使用比较运算符NaN
,它会总是返回false
。
使用isNaN()
代替
var qty = parseInt($('#amendOrderQty').val());
model.qty = isNaN(qty) ? 0 : qty;
你不能直接比较的东西NaN
因为
NaN === NaN
始终返回false。
var orderQtyVal = parseInt($('#amendOrderQty').val());
model.qty = isNaN(orderQtyVal) ? 0 : orderQtyVal;
考虑到MDN标记'isNaN()'可能是一个好主意(对于非数字字符串):) +1 – Phil