在JavaScript中,为什么isNaN(值)与value==NaN不同?
正如问题中所说的那样,我尝试了在JavaScript中,为什么isNaN(值)与value==NaN不同?,javascript,nan,Javascript,Nan,正如问题中所说的那样,我尝试了value==NaN,结果是错误的,然后记得我应该使用isNaN(value)来检查这一点 为什么会有这种差异?从 NaN是一个特殊值,您可以将其视为例如Infinity无穷大不等于另一个无穷大,因为它没有定义的值我不能说它比这样做更好 与JavaScript中所有其他可能的值不同,不可能依靠相等运算符(=和==)来确定值是否为NaN,因为NaN==NaN和NaN===NaN都计算为false。因此,isNaN功能的必要性 与JavaScript中所有其他可能的值不
value==NaN
,结果是错误的,然后记得我应该使用isNaN(value)
来检查这一点
为什么会有这种差异?
从
NaN
是一个特殊值,您可以将其视为例如Infinity
<代码>无穷大
不等于另一个无穷大
,因为它没有定义的值我不能说它比这样做更好
与JavaScript中所有其他可能的值不同,不可能依靠相等运算符(
=
和==
)来确定值是否为NaN
,因为NaN==NaN
和NaN===NaN
都计算为false
。因此,isNaN
功能的必要性
与JavaScript中所有其他可能的值不同,不可能依靠相等运算符(
=
和==
)来确定值是否为NaN
,因为NaN==NaN
和NaN===NaN
都计算为false
。因此,isNaN
函数的必要性——更多信息请参见:有人想解释下一票吗?可能是令人敬畏的比较kool的复制品,坚实的一个你可能想清楚你指的是无穷大的数学概念,而不是JavaScript中的Infinity
变量(在JavaScript中为Infinity===Infinity
)。