浅谈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已经初始化,但是没有值。