在控制台上,当您输入
blahblah并按Enter键,您应该会得到Unrecognized ReferenceError

但...

当您输入this.blahblah时,您会得到undefined(表示没有错误)

这是为什么?
blahblah何时在内存中为自身找到空间以分配该特殊值(undefined)? -看起来,当我执行this.blahblah时,它具有即时执行var blahblah;的效果。

任何意见?

最佳答案

对于this.blahblah,您是指this对象(在您的情况下为window)的属性。

在JavaScript中,当您尝试获取对象的不存在的属性时,它将返回undefined类型。

但是,在第一种情况下,仅调用blahblah,您将尝试使用引用称为blahblah的对象进行调用。如果不存在,JavaScript将改为抛出ReferenceError

JavaScript有很多告诉您不存在的方法。

07-24 17:11