【发布时间】:2013-10-19 12:31:57
【问题描述】:
如果我尝试引用一个不存在的变量,我会在 JavaScript 中得到 ReferenceError。为什么引用不存在的对象属性会返回“未定义”? 这是一些代码,前提是我在浏览器中编写它:
alert(a);
ReferenceError: a is not defined //error is thrown
alert({}.a)
undefined //no error
【问题讨论】:
-
你能发布一些代码吗?如果我是一个赌博的人,我会说它确实存在,但要么是空的,要么是空的。你用控制台调试过吗?
-
你在问为什么语言是这样设计的? @MikeHometchko - 我敢打赌:不存在的属性会返回
undefined,而null的属性会返回null(如果“空”是指一个空字符串,那么它会返回一个空字符串);更令人困惑的是,确实存在但已分配值undefined的属性也返回undefined。 -
@nnnnnn 我觉得他是……
-
@nnnnnn 您还有 1 分钟的时间来进一步扩展您的评论……去吧,去吧,去吧! :D
-
@nnnnnn 哇,这很奇怪,我从来没有注意到这一点。 +1 对 OP 将我从矩阵中唤醒,我的生活一直是个谎言!
标签: javascript