Javascript - 为什么NaN(1 + null)返回false?

时间:2017-03-07 07:13:27

标签: javascript coercion

好吧,我正在浏览Mozilla Javascript Reference并发现..

isNaN(1 + null) //false
isNaN(1 + undefined) //true

我无法理解这背后的原因。

1 个答案:

答案 0 :(得分:6)

https://www.w3schools.com/js/js_type_conversion.asp开始,当null转换为number时,它变为0.因此,0 + 1 = 1,它是有效数字,因此isNaN返回{ {1}}。

false转换为数字时,它变为undefinedNaNAny Number + NaN = NaN返回true。