猿问

js 中的 isNaN([1]) 为什么返回false

传入长度为1的数组时
isNaN([1]);//false
但是
isNaN([1,2]);//true
还有
NaN===NaN//false
好神奇啊。
紫衣仙女
浏览 385回答 2
2回答

至尊宝的传说

NaN!==NaN是可以理解的,毕竟4/'error'也不该等于5/'error'。isNaN([1])为false,是因为isNaN接受的是数字类型,于是[1]被自动转换为了数字类型再传递给isNaN,而转换结果是1。不信你可以看到Number([1])是1。而你可以看到Number([1,2])的结果是NaN,于是isNaN([1,2])自然是true了。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答