我是靠谱客的博主 舒服钥匙,最近开发中收集的这篇文章主要介绍如何判断是不是NaN?isNaN()和Number.isNaN(),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

NaN是什么?

NaN:Not A Number即代表不是一个数字
NaN是一个Number类型的数值,只不过无法用真实的数据去表示

存在的意义:
0 / 0;// NaN

特点:

  • NaN与任何数值/任何类型的操作结果:NaN
    NaN + 0;//NaN
    NaN + NaN;//NaN
    NaN + undefined;//NaN
    
  • NaN与任何值作比较都是不相等的(包括NaN本身)
    NaN === 0;// false 
    NaN === undefined;// false
    NaN === NaN;// false
    

如何判断是不是NaN?

  • ES5: isNaN()

    确定一个变量是不是NaN

    如果我们传递的不是一个Number类型的参数:

    isNaN({});// true
    isNaN('d');// true
    

    为什么是true不是false?

    NaN所产生的条件:

    • 参与运算时:运算结果无法用一个正常的数字表示 => NaN
      例如:
      0 / 0;// NaN
      1 / 0;// Infinity(无限大)
      
    • 强制类型转换时:某些类型的数值不能转换成数字类型(转换失败)
      1 - 'a';// NaN
      
  • ES6: Number.isNaN()[新增]

    传入的值是否是NaN: 是 => true; 否 => false

    注意:不会进行类型转换,只是值的判断

    除了NaN返回true,其他均返回false

    Number.isNaN(NaN);// true
    Number.isNaN(1);// false
    Number.isNaN(0);// false
    Number.isNaN({});// false
    

最后

以上就是舒服钥匙为你收集整理的如何判断是不是NaN?isNaN()和Number.isNaN()的全部内容,希望文章能够帮你解决如何判断是不是NaN?isNaN()和Number.isNaN()所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部