JS中null与undefined

1.undefined是js的一个原始值,不是一个对象,表示变量没有初始化,
null也是js的一个原始值,不是一个对象,他表示变量为空,但由于语言设计的缺陷,导致typeof(null)为object,而正确的应该为null

alert(typeof(null));      // object
alert(typeof(undefined)); // undefined

alert(null !== undefined); //true
alert(null == undefined);  //true

2.object == null 与 !object 是不同的,因为!object相当于!Boolean(object)

alert(Boolean(null)); //false
alert(Boolean(0));    //false
alert(Boolean(""));   //false
alert(Boolean({}));   //true
alert(Boolean([]));   //true

Comments are closed.