js笔记——js里的null和undefined

@date:2016-01-09 21:26:00

以下内容摘录自阮一峰的《语法概述 -- JavaScript 标准参考教程(alpha)》章节『5.null和undefined』,以做备忘。

null与undefined都可以表示“没有”,含义非常相似。目前null和undefined基本是同义的,只有一些细微的差别。

在if语句中,它们都会被自动转为false,null == undefined返回true

对于null和undefined,可以大致可以像下面这样理解。

null表示空值,即该处的值现在为空。典型用法是:

作为函数的参数,表示该函数的参数是一个没有任何内容的对象。
作为对象原型链的终点。


**undefined表示不存在值,就是此处目前不存在任何值。**典型用法是:

变量被声明了,但没有赋值时,就等于undefined。
调用函数时,应该提供的参数没有提供,该参数等于undefined。
对象没有赋值的属性,该属性的值为undefined。
函数没有返回值时,默认返回undefined。

在JavaScript里,条件判断语句中,下面六个值被转为false,其他值都视为true。

undefined
null
false
0
NaN
""(空字符串)

需要特别注意的是,空数组([])和空对象({})对应的布尔值,都是true。

作者: 阮一峰
来源: http://javascript.ruanyifeng.com/grammar/basic.html#toc20

Build by Loppo 0.6.14