我知道NaN不低于Infinity。我已经测试了很多字符串,似乎可以强制转换为数字类型的字符串小于无穷大,而那些不可能的字符串则不是。这是检查变量“可以”是否为数字类型的可靠方法吗?
答案 0 :(得分:4)
不,因为
''<Infinity
给出true
答案 1 :(得分:3)
如果您既不想要NaN也不想要Infinity,请尝试isFinite
:
$ node
> isFinite(Infinity)
false
> isFinite(NaN)
false
> isFinite(3E100)
true
但请记住,在JavaScript中,几乎任何东西都可以被强制转换为数字。
false => 0
true => 1
null => 0
"3" => 3
和使用正确方法的对象(我会让你看一下)也可以被强迫。
答案 2 :(得分:1)
我从未尝试过使用Infinity。但我认为isNaN()能满足您的需求!