传入长度为1的数组时isNaN([1]);//false但是isNaN([1,2]);//true还有NaN===NaN//false好神奇啊。
2 回答
至尊宝的传说
TA贡献1789条经验 获得超10个赞
NaN!==NaN是可以理解的,毕竟4/'error'也不该等于5/'error'。isNaN([1])为false,是因为isNaN接受的是数字类型,于是[1]被自动转换为了数字类型再传递给isNaN,而转换结果是1。不信你可以看到Number([1])是1。而你可以看到Number([1,2])的结果是NaN,于是isNaN([1,2])自然是true了。
添加回答
举报
0/150
提交
取消