JS中的Undefined和Null的区别

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是未初始化(未赋值)。

posted @ 2018-03-01 17:24  心晴安夏  阅读(199)  评论(0编辑  收藏  举报