null和undefined的区别

383 阅读1分钟

Undefined

Undefined类型只有一个值,即undefined。当声明的变量还未初始化时,变量的默认值为undefined。undefined是一个全局变量,window.undefined=undefined。

用法

  1. 变量被声明了,但没有赋值,该变量默认为undefined。
  2. 调用函数时,应该提供的参数没有提供,该参数等于undefined。
  3. 对象没有赋值的属性,该属性的默认值为undefined。
  4. 函数没有返回值时,默认返回undefined。

Null

Null类型只有一个值,即null。逻辑是讲,null值表示一个空对象指针,即 typeOf null=object。null表示尚未存在的对象,常用来表示函数企图返回一个不存在的对象。当初始化赋值为null时,表示将要赋值为一个对象,结束后,赋值为null,表示该对象称为垃圾对象。

用法

  1. 作为函数的参数,表示该函数的参数不是对象.
  2. 作为对象原型链的终点。