-1

有人能说出 JavaScript 中未定义的类型是什么吗?typeof(undefined) 会返回什么?

4

2 回答 2

3

什么是未定义的?

在 JavaScript 中有未定义(类型)、未定义(值)和未定义(变量)。

类型:

Undefined (type) 是一个内置的 JavaScript 类型。

价值:

Undefined (value) 是一个原始类型,是 Undefined 类型的唯一值。任何尚未分配值的属性都假定为未定义的值。(ECMA 4.3.9 和 4.3.10)。没有 return 语句的函数或带有空 return 语句的函数返回 undefined。未提供的函数参数的值未定义。

多变的:

未定义(变量)是一个全局属性,其初始值为未定义(值),由于它是一个全局属性,我们也可以将其作为变量访问。为了保持一致性,在本文中我总是将其称为变量。

空区别:

Undefined 与 null 不同,后者也是表示有意缺少值的原始值。undefined 和 null 之间的唯一相似之处是它们都强制为 false。

那么什么是ReferenceError?

ReferenceError 表示检测到无效的参考值 (ECMA 5 15.11.6.3)

实际上,这意味着当 JavaScript 尝试获取无法解析的引用的值时,将抛出 ReferenceError。

请注意消息语法如何因浏览器而异。正如我们将看到的,这些消息都不是特别有启发性:

alert(foo);
//FF/Chrome: foo is not defined
//IE: foo is undefined
//Safari: can't find variable foo
于 2013-10-14T09:59:06.290 回答
0

typeof(undefined) is "undefined" - 见 MDN对 typeof 操作符的引用

于 2013-10-14T10:00:37.723 回答