Undefined
Undefined类型只有一个值,即特殊的undefined。在使用var声明变量但并未对其进行初始化时(未给其赋值),这个变量的值就是undefined。
1 var name; 2 alert(name==undefined);//true
注意:
①在声明变量时,如果没有给变量赋值,则这个变量的值就是undefined;
②访问未声明的变量会报错误消息,但这样的变量使用 typeof操作符 测试,返回的值为undefined。
即对未初始化和未声明的变量执行typeof操作符都会返回undefined值。
Null
Null类型是另外一个只有一个值的数据类型,这个特殊的值就是null。对一个变量赋值为null,则该变量即为Null类型。null值表示一个空对象指针
故使用typeof操作符检测null值时会返回 object。
1 var car=null; 2 alert(typeof car);//object
注意一点:undefined是派生自null的,两者的相等性测试会返回true
alert(null==undefined);//true
两者区别:
null已定义,并初始化为null,是一个空对象指针;undefined是未初始化(未赋值)。