作为一个JavaScript新手,我看到很多神奇的东西没有在书中解释过。例如,为什么我可以写
document.getElementById('one');
当document
是window
的属性时?从我在书中看到的,我们需要写
window.document.getElementById('one');
如果文档是常规对象,就像我们自己创建的任何对象一样。
什么允许我们在使用window
属性时省略document
父对象?
我用Google搜索了,但我找不到解释。
答案 0 :(得分:2)
window
是浏览器中的Global对象, because of the way scope works in JavaScript ,Global对象将始终是搜索某些内容的最后位置。因此,省略window
是可以的,因为最终会在“范围链”的末尾找到它。
document
是window
的属性,因此,您无需使用window
对其进行限定即可找到它,因为当浏览器到达window
时并且仍然没有找到它正在寻找的内容,它将查看window
的属性并在那里找到document
。
答案 1 :(得分:0)
window
代表浏览器的窗口。
所有全局JavaScript对象,函数和变量都自动成为窗口对象的成员。
document
也是全局对象的属性,因此可以window.document
或document
进行访问。
有关详细信息,请参阅here.