null为js中的关键字,表示空值。null可以看作是object类型的一个特殊值,如果一个object的值为null,表示这个对象不是有效的对象。这里的null和0不是一回事,在c++中null通常定义为0,但是在js中并不是这样。
undefined不是js关键字,其为一个全局变量,即Global的一个属性,一下3种情况会返回undefined:
1、使用了一个未定义的变量;
2、使用了已经定义但未赋值的变量;
3、使用了一个对象属性,但是该属性不存在或者为赋值;
虽然undefined和null不同,但是运行下面的代码会返回true。
alert(undefined==null);
var v=""; alert(v.a==null); alert(v.a=undefined);
这是因为undefined和null代表了值得缺少,所以在这里他们是等值的。但不是完全相等,如下代码则返回false。
alert(nudefined==null);
js中的null和undefined,布布扣,bubuko.com
原文地址:http://blog.csdn.net/xiebaochun/article/details/38749815