在控制台上,当您输入blahblah
并按Enter键,您应该会得到Unrecognized ReferenceError
。
但...
当您输入this.blahblah
时,您会得到undefined
(表示没有错误)
这是为什么?blahblah
何时在内存中为自身找到空间以分配该特殊值(undefined
)? -看起来,当我执行this.blahblah
时,它具有即时执行var blahblah;
的效果。
任何意见?
最佳答案
对于this.blahblah
,您是指this
对象(在您的情况下为window
)的属性。
在JavaScript中,当您尝试获取对象的不存在的属性时,它将返回undefined
类型。
但是,在第一种情况下,仅调用blahblah
,您将尝试使用引用称为blahblah
的对象进行调用。如果不存在,JavaScript将改为抛出ReferenceError
。
JavaScript有很多告诉您不存在的方法。