Answers:
Window
是global object
浏览器中主要的JavaScript对象根(也称为),也可以视为文档对象模型的根。您可以通过以下方式访问window
window.screen
或者只是screen
有关物理屏幕尺寸的小信息对象。
window.document
或仅仅document
是潜在可见(或更好:呈现)的文档对象模型/ DOM的主要对象。
由于window
是全局对象,因此您可以仅使用属性名称来引用它的任何属性-因此您不必写下来window.
-它会在运行时确定。
window
与视口。A window
是浏览器标签的JavaScript对象或<iframe>
(或已弃用<frame>
)。该视口是所渲染的矩形document
看到的标签或框架内。
好吧,窗口是首先加载到浏览器中的东西。此窗口对象具有大多数属性,如length,innerWidth,innerHeight,name,是否已关闭,其父级等等。
那文档对象呢?该文档对象是您的html,aspx,php或其他将加载到浏览器中的文档。该文档实际上被加载到window对象内部,并且具有可用的属性,例如标题,URL,cookie等。这实际上是什么意思?这意味着,如果要访问窗口的属性,则为window.property,如果为文档,则为window.document.property,也可以简称为document.property。
这似乎很简单。但是,一旦引入IFRAME,会发生什么?
简要地说,下面有更多详细信息,
window
是该上下文的JavaScript的执行上下文和全局对象document
包含通过解析HTML初始化的DOMscreen
描述物理显示器的全屏有关这些对象的详细信息,请参见W3C和Mozilla参考。这三个之间最基本的关系是,每个浏览器选项卡都有自己的window
,并且window
具有window.document
和window.screen
属性。浏览器选项卡window
是全局上下文,因此document
和screen
指代window.document
和window.screen
。有关这三个对象的更多详细信息,请参见Flanagan的JavaScript:权威指南。
window
每个浏览器选项卡都有其自己的顶级window
对象。每个<iframe>
(和不推荐使用的<frame>
)元素也都有自己的window
对象,它们嵌套在父窗口中。这些窗口中的每一个都有自己的单独全局对象。window.window
总是指window
,但window.parent
也window.top
可能指封闭的窗口,从而可以访问其他执行上下文。除了document
和screen
下面所描述的,window
属性包括
setTimeout()
并将setInterval()
事件处理程序绑定到计时器location
提供当前网址history
方法,back()
并forward()
提供标签的可变历史记录navigator
描述浏览器软件document
每个window
对象都有一个document
要渲染的对象。这些对象之所以会造成混乱,部分原因是当分配了唯一ID时,会将HTML元素添加到了全局对象中。例如,在HTML代码段中
<body>
<p id="holyCow"> This is the first paragraph.</p>
</body>
段落元素可以被以下任何一种引用:
window.holyCow
要么 window["holyCow"]
document.getElementById("holyCow")
document.body.firstChild
document.body.children[0]
screen
该window
对象还有一个screen
对象,该对象的属性描述了物理显示:
屏幕属性width
和height
全屏
屏幕属性availWidth
并availHeight
省略工具栏
屏幕上显示呈现的文档的部分是JavaScript中的视口,这可能会造成混淆,因为在谈论与操作系统的交互时,我们将应用程序的屏幕部分称为窗口。的getBoundingClientRect()
任何的方法,document
元件将返回一个对象与top
,left
,bottom
,和right
描述在视口中的元件的位置的特性。
window.onload
使用文档对象?的等效指令。
的window
是实际的全局对象。
的screen
是在屏幕上,它包含了用户的显示性能。
该document
是在DOM是。
document
也可以是window.document
,screen
可以是window.screen
,window
可以是window.window
(或window.window.window
):-P
window
是全局变量,这使其成为全局window
对象的属性。:-)
在window
包含一切,所以你可以打电话window.screen
和window.document
得到这些元素。查看这个小提琴,漂亮地打印每个对象的内容:http : //jsfiddle.net/JKirchartz/82rZu/
您还可以在firebug / dev工具中查看对象的内容,如下所示:
console.dir(window);
console.dir(document);
console.dir(screen);
window
是一切的根源,screen
只是具有屏幕尺寸,并且document
是顶级DOM对象。因此您可以将其视为window
超级document
...
窗口是加载到浏览器中的第一件事。此窗口对象具有大多数属性,如length,innerWidth,innerHeight,name,是否已关闭,其父级等等。
该文档对象是您的html,aspx,php或其他将加载到浏览器中的文档。该文档实际上已加载到window对象内部,并且具有可用的属性,例如标题,URL,cookie等。这实际上是什么意思?这意味着如果要访问窗口的属性是window.property,如果是文档,则是window.document.property,也可以简称为document.property。