JavaScript中的 undefined 和 null 的区别

Posted tsmaster

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript中的 undefined 和 null 的区别相关的知识,希望对你有一定的参考价值。

Undefined

Undefined 类型只有一个值,即 undefined。
声明了变量,但未进行初始化时,这个变量的值就是 undefined,例如:

var message;
alert(message == undefined); // true

字面量 undefined 的主要目的是用于比较,而ECMAScript 3.0之前的版本中并没有规定这个值。引入这个值是为了正式区分空对象指针未经初始化的变量

Null

Null 类型是第二个只有一个值的类型,即 null。
从逻辑角度来看,null 表示一个空对象指针,因此,当使用 typeof 操作符检测 null 值时,会返回“object”,如下所示:

var car = null;
alert(typeof car); // "object"

如果定义的变量准备在将来用于保存对象,那么最好将该变量初始化为 null,而不是其他值,这样一来只要直接检查null值就可以知道该变量是否保存了一个对象的引用,例如:

if (car != null) {
   dosomthing
}

实际上, undefined值是派生自 null值的,因为他们在执行相等性测试(==)时要返回 true

alert(null == undefined) // true


以上是关于JavaScript中的 undefined 和 null 的区别的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript中的Undefined / Null 类型相关说明

浅谈JavaScript中的null和undefined

JavaScript中的null和undefined

JavaScript中的 undefined 和 null 的区别

Javascript中的null和 undefined

JavaScript中void 0和undefined