浅谈JavaScript中的null和undefined

时间:2021-12-13 14:55:55

浅谈JavaScript中的null和undefined

null

null是JavaScript中的关键字,表示一个特殊值,常用来描述“空值”。

对null进行typeof类型运算,返回的是"object",因此可以将null认为是一个特殊的对象值。用null可以表示数字,字符串和对象是“无值的”。

undefined

undefined是预定义的全局变量,它的值就是undefined,它是变量的一种取值,表示变量没有初始化。

对undefined进行typeof类型运算,返回"undefined"。在查询的对象属性不存在或函数没有返回值时,都会返回undefined。函数形参没有提供实参也会得到undefined。

异同以及联系

1.null是关键字,undefined是预定义的全局变量。

2.null == undefined ,返回true,使用全等运算符来区分他们。

3.null表示“没有值”,undefined表示“未初始化”。

4.如果用来表示Boolean值,则都表示false。

5.null和undefined都不包含任何属性和方法。

6.都是各自类型的唯一成员,null类型只有null,undefined类型只有undefined。

7.如果赋值给变量或属性,通常使用null表示没有值,但是已经定义了。比如使用null作为参数传入函数,而不是undefined。

var s; // s没有初始化
var o = null; // o已经初始化,但是没有值。