Javascript 为什么不是';泰南有限公司?
在测试Javascript 为什么不是';泰南有限公司?,javascript,nan,Javascript,Nan,在测试isFinite函数时,我发现NaN是一个无限数(即使它不是一个数:-)) 这背后的逻辑是什么?为什么不是 有限? 正如Dave Newton所说,楠不是一个数字,然后你必须考虑它不是有限的也不是无限的。 以下情况也是如此: NaN > 0 // false NaN < 0 // false NaN>0//false NaN
isFinite
函数时,我发现NaN
是一个无限数(即使它不是一个数:-)
)
这背后的逻辑是什么?为什么不是<楠> <代码>有限? 正如Dave Newton所说,楠不是一个数字,然后你必须考虑它不是有限的也不是无限的。 以下情况也是如此:
NaN > 0 // false
NaN < 0 // false
NaN>0//false
NaN<0//false
您可能需要阅读以下文章:
这就像矩阵中的错误。对NaN进行任何算术运算的结果都是NaN
对NaN进行任何逻辑运算的结果都为假。这不是一个数字。这看起来更像是无穷大,而不是一个数字。@MarkLinus
NaN
常量表示浮点值中的无意义位排列。因为它“不是一个数字”,所以它不能具有数字可以具有的任何属性。它不是有限的,也不是无限的。这不是偶数,也不是奇数。这不是积极的,也不是消极的。它不是一个数字:)如果有一个isInfinite()
方法,它也会返回false
。有趣的事实:isFinite(null)
返回true
@EfrainReyes-Yes,因为number(null)==0
:-)实际上,既有一个“可数无穷大”,例如整数集,也有一个“不可数无穷大”,例如实数集。即使它不是一个数字,它的构造函数也是number
;-)我知道。它是Number
类的一个实例。但是,其值本身并不被视为数字。
NaN > 0 // false
NaN < 0 // false