Undefined
在 JavaScript 中,没有值的变量,其值是 undefined。typeof 也返回 undefined。
var person; // 值是 undefined,类型是 undefined。
任何变量均可通过设置值为 undefined 进行清空。其类型也将是 undefined。
person = undefined; // 值是 undefined,类型是 undefined。
空值
空值与 undefined 不是一回事。
空的字符串变量既有值也有类型。
var car = ""; // 值是 "",类型是 "string"
Null
在 JavaScript 中,null 是 "nothing"。它被看做不存在的事物。
不幸的是,在 JavaScript 中,null 的数据类型是对象。
您可以把 null 在 JavaScript 中是对象理解为一个 bug。它本应是 null。
您可以通过设置值为 null 清空对象:
var person = null; // 值是 null,但是类型仍然是对象
您也可以通过设置值为 undefined 清空对象:
var person = undefined; // 值是 undefined,类型是 undefined。
Undefined 与 Null 的区别
Undefined 与 null 的值相等,但类型不相等:
typeof undefined // undefined
typeof null // object
null === undefined // false
null == undefined // true