null
Null类型,代表“空值”,代表一个空对象指针,使用typeof运算得到 “object”,所以你可以认为它是一个特殊的对象值。
null是Javascript的关键字,可以认为是对象类型,它是一个空对象指针,和其它语言一样都是代表“空值”。
undefined
Undefined类型,当一个声明了一个变量未初始化时,得到的就是undefined。
undefined 是Javascript才有的,undefined是在ECMAScript第三版引入的,为了区分空指针对象和未初始化的变量,它是一个预定义的全局变量。没有返回值的函数返回为undefined,没有实参的形参也是undefined。
Javascript权威指南
null 和 undefined 都表示“值的空缺”,你可以认为undefined是表示系统级的、出乎意料的或类似错误的值的空缺,而null是表示程序级的、正常的或在意料之中的值的空缺。