浅析undefined,null和NaN的区别

1. 从数据类型上来说
undefined和null为基本数据类型,NaN表示Not A Number,用typeof检测时,undefined返回undefined,null返回object,NaN返回number。
2.从产生原因上来看
(1) undefined表示未定义,通常出现在声明了变量而未赋值时,举例来说,

var aa;
console.log(aa);

这个时候输出结果为undefined

(2)null表示变量值为空,可以通过将null赋给变量来清空变量。
(3)NaN值出现情况更多,比如数据类型转换时,被转换的数据不含有可以转换的部分,则返回NaN。举例来说

var a;
var b=1;
if(a==undefined){
    console.log(a+b);
}

结果为NaN,类型为number。
还需要注意的是,NaN和任何数据都不相等,包括NaN本身,其他数据类型和NaN运算的结果都是NaN。

猜你喜欢

转载自blog.csdn.net/weixin_42392456/article/details/81215877