【undefined与null的区别】


【undefined与null的区别】

字面的含义

声明变量未定义:undefined;(例:var a;)

有定义,但内容为空的对象:null。

从字面上来理解undefined和null其实相对比较简单:

undefined表示的是声明一个变量之后我们并没有给它定义内容。

null表示的是有定义,定义的是一个空对象。


最初的区分方式

null是一个表示"无"的对象,转为数值时为0;

undefined是一个表示"无"的原始值,转为数值时为NaN。


目前的用法

null表示"没有对象",即该处不应该有值。

null出现在哪里?

对于函数的参数,为了表示该函数的参数不是对象,会使用null。这种用法在传参时经常遇到此类应用。

对象原型链的终点是null。


undefined表示"缺少值",就是此处应该有一个值,但是还没有定义。

undefined会出现在哪里?

1、变量被声明了,但没有赋值,默认为undefined

2、调用函数时,应该提供的参数没有提供,该参数默认为undefined

3、对象没有赋值的属性,该属性的值默认为undefined

4、函数没有返回值时,默认返回undefined


相关文章: