先说结论
- 全局对象的
isNaN在确定参数是否为NaN之前,会将其参数转换为number类型 - 而
Number.isNaN不会。
代码实操
isNaN('我是字符串') // true
Number.isNaN('我是字符串') // false
实现逻辑
isNaN
- 将参数转换为
number类型 - 如果转换后的参数为
NaN,返回true - 否则,返回
false
Number.isNaN
- 如果参数为
number类型,返回false - 如果参数为
NaN,返回true - 否则,返回
false