有些正文可以告诉JavaScript中未定义的类型是什么吗? typeof(undefined)会返回什么?
答案 0 :(得分:3)
什么是未定义的?
在JavaScript中有未定义(类型),未定义(值)和未定义(变量)。
类型:
Undefined(type)是一种内置的JavaScript类型。
值:
Undefined(value)是一个原语,是唯一的值 未定义的类型。任何尚未赋值的属性, 假定未定义的值。 (ECMA 4.3.9和4.3.10)。一个功能 没有return语句,或者返回空的函数 语句返回undefined。未提供功能的值 参数未定义。
变量:
Undefined(variable)是一个全局属性,其初始值为 undefined(value),因为它是一个全局属性,我们也可以访问它 作为变量。为了保持一致性,我总是将其称为变量 在这篇文章中。
Null Distinction:
Undefined与null不同,null也是原始值 表示故意缺少价值。唯一的相似之处 在undefined和null之间它们都强制为假。
那么什么是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
答案 1 :(得分:0)
typeof(undefined)是“未定义” - 请参阅MDN对the typeof operator的引用