一分钟知识点:isNaN和Number.isNaN的区别

47 阅读1分钟

先说结论

  • 全局对象的isNaN在确定参数是否为NaN之前,会将其参数转换为number类型
  • Number.isNaN不会。

代码实操

isNaN('我是字符串')         // true

Number.isNaN('我是字符串')  // false

实现逻辑

isNaN

  1. 将参数转换为number类型
  2. 如果转换后的参数为NaN,返回true
  3. 否则,返回false

Number.isNaN

  1. 如果参数为number类型,返回false
  2. 如果参数为NaN,返回true
  3. 否则,返回false