js中的三大特殊数据:undefined,null,NaN

js中的三大特殊数据:undefined,null,NaN

  • NaN:非法的数值运算得到的结果

    • 特殊之处:
      1. 是一个数值型的数据,但是不是一个数字
      2. NaN不等于任何值,和任何数据都不相等,NaN不等于NaN
    • 检测方法:isNaN(要检测的数据)
      • true:检测结果为 NaN 或能转成 NaN
      • false:检测结果不是 NaN 或不能转成 NaN
  • undefined是:未赋值,类型是undefined;null是:空,类型是object

    • 特殊1:undefined和null在关系运算符两边隐式类型转换后,得到了一致的数据
    • 特殊2:undefined被Number转成NaN,null被Number转成0
  • 如何判断三大特殊的值,分别是谁?

    • NaN可以使用isNaN()来判断

      • isNaN(要判断的值或变量);
      var a = NaN;
          console.log(isNaN(a)); // 结果是布尔值:true为是的,false为不是
    • undefined可以使用typeof判断

      • typeof 要判断的值或变量
      var b = undefined;
          console.log( (typeof b) === "undefined" );// 结果是布尔值:true为是的,false为不是
    • null需要配合typeof和关系运算符判断

      • typeof 要判断的值或变量 === "object"
      var c = null;
          console.log( (typeof c) === "object" );
      • 要判断的值或变量 == null
      console.log(c === null);
原文地址:https://www.cnblogs.com/cupid10/p/15617838.html