为什么我们可以在不指定 window 对象的情况下访问 window.document 属性?

Art*_*nko 7 javascript

作为一个 JavaScript 新手,我看到了很多书本上没有解释的魔法。例如,为什么我可以写

document.getElementById('one');
Run Code Online (Sandbox Code Playgroud)

什么时候document是 的属性window?根据我在书上读到的内容,我们需要写

window.document.getElementById('one');
Run Code Online (Sandbox Code Playgroud)

如果文档是像我们自己创建的任何对象一样的常规对象。


window是什么让我们在使用属性时可以省略父对象document

我用谷歌搜索了这个,但找不到解释。

Sco*_*cus 5

window是浏览器中的 Global 对象,并且由于 JavaScript 中作用域的工作方式,Global 对象将始终是搜索某些内容的最后一个位置。因此,省略window是可以的,因为它最终会在“作用域链”的末尾找到。

document是 的属性window,因此,您不需要使用 来限定它即可window找到它,因为当浏览器到达window但仍未找到它要查找的内容时,它将查看 的属性windowdocument在那里找到。