if(x< Infinity)是否是检查x是否不是NaN并且可以强制转换为数字的最佳方法?

时间:2013-07-29 05:55:34

标签: javascript

我知道NaN不低于Infinity。我已经测试了很多字符串,似乎可以强制转换为数字类型的字符串小于无穷大,而那些不可能的字符串则不是。这是检查变量“可以”是否为数字类型的可靠方法吗?

3 个答案:

答案 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()能满足您的需求!