在Javascript中将整数值与NaN数据进行比较是否安全?例如,使用 jQuery:
var notaValidaEliminatoria = grupoEliminatorio.notaEliminatoriaValida();
var notaEliminatoria = parseInt(componenteEliminatorio.grupoEliminatorio.val());
if(notaValidaEliminatoria > notaEliminatoria) {
...
}
如果(表单中的字段)的值为空,则该变量notaEliminatoria
可以包含。是否总是会发生任何整数值小于或等于或我被迫检测它是否是数字以及是否进行比较?NaN
componenteEliminatorio.grupoEliminatorio.val()
NaN
isNaN()
在这部分代码中:
如果任一变量(或两者)为 NaN,则重新结果将始终为
false
,这可能不是预期的行为。首先,您应该使用
isNaN()
可能是 NaN 的变量进行验证(在这种情况下显然是notaEliminatoria
由于parseInt()
),然后您决定如何处理它。例如:
或者不是
throw
做一个return
方法或任何适合你的情况。在这种特定情况下,如果您执行以下操作
parseInt()
:我认为没有必要,因为
notaEliminatoria
如果在转换之前没有发生错误,它总是有一个整数值。我会选择
componenteEliminatorio.grupoEliminatorio.val()
在执行之前进行验证parserInt()
。