JavaScript 的 undefined
是个非常有趣的东西。
- 首先,
undefined
在 JavaScript 里面是一种原始类型,并且类型有且仅有一个值,就是undefined
; - 其次,JavaScript 在全局范围定义了一个变量,这个变量的值是
undefined
,他的名字也是undefined
。
undefined 的不确定性
但是这个全局变量并非一个常量,也不是一个保留字。也就是说,这个值是可以被更改,所以这个语句完全是有效的:
|
|
由于 undefined
的不确定性,所以需要判断一个变量是否是 undefined
的时候不能直接使用如下语句:
|
|
使用技巧
常见的更为可靠的方法有:使用 typeof
操作符、void
操作符、函数形参。typeof
操作符返回操作数的类型(字符串),若操作数是 undefined
类型,那么返回 “undefined”,使用方法如下:
|
|
void
操作符执行表达式并返回 undefined
:
|
|
在 JavaScript 中,当函数的形参的个数多于实际传入的参数时,多余部分的形参的值将设成 undefined
。故可通过此方法来确定 undefined
。
|
|