首页 > 代码库 > js中的null和undefined

js中的null和undefined

       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);