null是一种很奇怪的数据类型,它也是常量的一种。从技术角度分析,它属于值类型,可以把null视为对象的占位符,或者看作对象的特殊值。null型数据只有一个值,即null,或者说null是null型的直接量。当一个变量值为null时,说明它不是一个有效的对象,或者说是无对象。在对象中,当为属性设置值为null时,会提醒JavaScript回收它们,无用也即无存在价值,所以赋值为null大多会回收处理。
undefined是从null中派生出来的,其作为一种特殊的数值和null都当作默认值使用。但是null和defined是两种不同类型的数据类型,并且可以用===运算符和typeof运算法比较他们的异同。
alert(null ==== undefined); //返回false alert(typeof null); //返回object alert(typeof undefined); //返回undefined