Я вижу, что эти термины используются взаимозаменяемо как глобальная среда для DOM. В чем разница (если она есть) и когда мне следует использовать каждый из них?
источник
Я вижу, что эти термины используются взаимозаменяемо как глобальная среда для DOM. В чем разница (если она есть) и когда мне следует использовать каждый из них?
Window
является основным корнем объекта JavaScript, также называемым global object
в браузере, также может рассматриваться как корень объектной модели документа. Вы можете получить к нему доступ какwindow
window.screen
или просто screen
небольшой информационный объект о физических размерах экрана.
window.document
или просто document
является основным объектом потенциально видимой (или еще лучше: визуализированной) объектной модели / DOM документа.
Поскольку window
это глобальный объект, вы можете ссылаться на любые его свойства только с помощью имени свойства - так что вам не нужно записывать window.
- он будет вычислен во время выполнения.
window
с окном просмотра . Awindow
- это объект JavaScript для вкладки браузера или<iframe>
(или устаревший<frame>
). Окно просмотра - это прямоугольник визуализированного видаdocument
на вкладке или в рамке.Ну, окно - это первое, что загружается в браузер. Этот оконный объект имеет большинство свойств, таких как длина, innerWidth, innerHeight, name, если он был закрыт, его родительские элементы и многое другое.
А как насчет объекта документа тогда? Объект документа - это ваш html, aspx, php или другой документ, который будет загружен в браузер. Документ на самом деле загружается внутри объекта окна и имеет доступные ему свойства, такие как заголовок, URL, cookie и т. Д. Что это действительно означает? Это означает, что если вы хотите получить доступ к свойству для окна, это window.property, если это документ, это window.document.property, который также доступен в сокращении как document.property.
Это кажется достаточно простым. Но что происходит, когда вводится IFRAME?
источник
Вкратце, с более подробной информацией ниже,
window
это контекст выполнения и глобальный объект для JavaScript этого контекстаdocument
содержит DOM, инициализированный при разборе HTMLscreen
описывает полный экран физического дисплеяСм W3C и Mozilla ссылки на подробную информацию об этих объектах. Самые основные отношения между этими тремя в том , что каждая вкладка браузера имеет свой собственный
window
, иwindow
имеетwindow.document
иwindow.screen
свойства. Вкладки браузераwindow
являются глобальным контекстом, поэтомуdocument
иscreen
ссылаются наwindow.document
иwindow.screen
. Более подробная информация о трех объектах приведена ниже, следуя JavaScript Фланагана: Полное руководство .window
Каждая вкладка браузера имеет свой собственный
window
объект верхнего уровня . Каждый<iframe>
(и устаревший<frame>
) элемент также имеет свой собственныйwindow
объект, вложенный в родительское окно. Каждое из этих окон получает свой отдельный глобальный объект.window.window
всегда ссылаетсяwindow
, ноwindow.parent
иwindow.top
может относиться к окружающим окнам, предоставляя доступ к другим контекстам выполнения. В дополнение кdocument
иscreen
описано ниже,window
свойства включают в себяsetTimeout()
иsetInterval()
привязка обработчиков событий к таймеруlocation
давая текущий URLhistory
с методамиback()
иforward()
давая изменчивую историю вкладкиnavigator
описание программного обеспечения браузераdocument
Каждый
window
объект имеетdocument
объект для визуализации. Эти объекты частично запутываются, потому что HTML-элементы добавляются в глобальный объект при назначении уникального идентификатора. Например, во фрагменте HTMLНа элемент абзаца можно ссылаться любым из следующих:
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
) :-Pwindow
это глобальная переменная, которая делает его свойством глобальногоwindow
объекта. :-)window
содержит все, так что вы можете позвонитьwindow.screen
иwindow.document
получить эти элементы. Проверьте эту скрипку, красиво печатая содержимое каждого объекта: http://jsfiddle.net/JKirchartz/82rZu/Вы также можете увидеть содержимое объекта в инструментах firebug / dev, например:
window
является корнем всего,screen
имеет размеры экрана иdocument
является верхним DOM-объектом. так что вы можете думать об этом какwindow
о суперdocument
...источник
Окно - это первое, что загружается в браузер. Этот оконный объект имеет большинство свойств, таких как длина, innerWidth, innerHeight, name, если он был закрыт, его родительские элементы и многое другое.
Объект документа - это ваш html, aspx, php или другой документ, который будет загружен в браузер. Документ на самом деле загружается внутри объекта окна и имеет доступные ему свойства, такие как заголовок, URL, cookie и т. Д. Что это действительно означает? Это означает, что если вы хотите получить доступ к свойству для окна, то это window.property, если это документ, это window.document.property, который также доступен кратко как document.property.
источник