一句话概括:
isNaN()会先尝试转换为数字,如果无法转换为数字则返回true,否则返回false
Number.isNaN():直接检查一个值是否为NaN
示例如下:
对于isNaN()
NaN直接就返回true
"abc"是字符串且无法转换为数字,所有为true
123就是数字不是NaN,返回false
"123"虽然是字符串但可以转换为数字123,返回false
对于Number.isNaN()只有碰到NaN才会返回true,不会转换,严格判断
所有上面四个测试只有第一个返回true,其他都返回false
练习题:
答案:
1、true,"0yd"无法转为数字
2、false,"0xd"是一个十六进制的表示,可以转为十进制的13,可以转换为数字则返回false
3、false,NaN与任何值包含它自身都不相等
4、false,"0yd"不是NaN,返回false
5、false,"0xd"不是NaN,返回false