//javascript:null undefined 和 NaN 的区别
注:下面图片都是在控制台上打印出来的结果,读者可以自己尝试一下
-
Null
-
undefined
-
NaN
由控制台得出得结果可以直接得到下面几点:
-
null == undefined.
NaN 不等于任何数(包括自己);但 NaN !== NaN.
null,undefined,NaN 都不等于 数字0. -
由typeof( )知道:
a. null 是object(对象) 类型,但是null 没有对象的一系列属性(如:proto 等) 。
如下图的 对象obj (obj是一个空对象,至少有属性__proto__)
b. undefined 是 六种数据类型(number ,string ,boolean, undefined, function ,object)中的一种;
当声明的变量还未被初始化时,变量的默认值为undefined;
undefined也表示“缺失值”,就是此处应该有一个值,但是还没有定义。
注:
关于null是对象类型,是历史遗留性问题,有兴趣的读者可以自行查阅相关资料。
null 不是 空对象,这是两个不同的概念。(关于区分null 和 空对象 后期会跟大家分享)
c. NaN 是number类型
- 通过Number()显示类型转换:
a. Number(null) == 0
b. Number(undefined) == NaN
c. Number(NaN) == NaN
注:以上内容纯属是个人分享,如有不足之处,希望不吝赐教,谢谢!