如果我想测试表达式的结果,函数将返回NaN我将如何检查?
示例:$('amount').value.toInt()!='NaN'
^不起作用,我假设返回的值不是一个字符串,
$('amount').value.toInt()!=NaN
^似乎也没有工作,这一个似乎很明显,
所以我如何检查返回值是不是一个数字?
NaN值被定义为不等于所有东西,包括它自身.使用该isNaN()
函数测试值是否为NaN ,足够恰当.(ECMAScript 6 Number.isNan()
为非数字参数添加了一个具有不同语义的函数,但截至2015年,它并未在所有浏览器中都受支持).
有两个内置属性可用,具有NaN值:全局NaN
属性(即window.NaN
在浏览器中),和Number.NaN
.它不是语言关键字.在较旧的浏览器中,NaN
属性可能会被覆盖,可能会产生令人困惑的结果,但使用ECMAScript 5标准时,它是不可写的.
正如@some在注释中指出的那样,还有全局函数isFinite()可能很有用.