null:常用来描述“空值”
alert(typeof null);会得到object。也就是说,可以将null认为是一个特殊的对象值。含义是"非对象"。
-------------------------------------------------------------------------------------------------
undefined:用未定义的值表示更深层次的“空值”。它是变量的一种取值,表明变量没有初始化,如果要查询对象属性或数组元素的值是返回undefined则说明这个属性或元素是不存的。如果函数没有返回任何值,则返回时返回undefined。引用没有提供实参的函数形参的值也只会得到undefined。undefined是预定义的全局变量(它和null不一样,它不是关键字),它的值就是未定义。
alert(typeof undefined);结果为undefined;
---------------------------------------------------------------------------------------------------
尽管null和undefined是不同的,但它们都表示"值的空缺",两者往往可以互换。
alert(null == undefined);结果为true
alert(null === undefined);结果为false