js中的null和undefined

       null为js中的keyword,表示空值。null能够看作是object类型的一个特殊值,假设一个object的值为null,表示这个对象不是有效的对象。

这里的null和0不是一回事。在c++中null通常定义为0,可是在js中并非这样。

       undefined不是jskeyword,其为一个全局变量,即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);






原文地址:https://www.cnblogs.com/yjbjingcha/p/6798129.html