В чем разница между window, screen и document в Javascript?
Я вижу, что эти термины взаимозаменяемо используются как глобальная среда для DOM. Какая разница (если она есть) и когда я должен использовать каждый из них?
6 ответов
Window
является основным корнем объекта JavaScript, он же глобальный объект в браузере, также может рассматриваться как корень объектной модели документа. Вы можете получить к нему доступ как window
в большинстве случаев (в браузере);
window.screen
- небольшой информационный объект о физических размерах экрана.
window.document
или просто document
является основным объектом видимой (или еще лучше: визуализированной) объектной модели документа / DOM.
Ну, окна-это первое, что загружается в браузер. Этот объект window имеет большинство свойств, таких как length, innerWidth, innerHeight, name, если он был закрыт, его родители и многое другое.
Как насчет объекта документа? Объект document-это ваш html, aspx, php или другой документ, который будет загружен в браузер. Документ фактически загружается внутри объекта window и имеет доступные ему свойства, такие как title, URL, печенье, etc. Что это значит на самом деле? Это означает, что если вы хотите получить доступ к свойству, для окна это окна.свойство, если это документ, это окно.документ.свойство, которое также доступно в виде документа.свойство.
Это кажется достаточно простым. Но что происходит после введения IFRAME?
на window
является фактическим глобальным объектом.
на screen
- это экран, он содержит свойства о дисплее пользователя.
на document
- это то, где находится DOM.
кратко, с более подробной информацией ниже,
-
window
- это контекст выполнения и глобальный объект для JS этого контекста -
document
содержит HTML -
screen
описывает полный экран физического дисплея
посмотреть W3C по и Mozilla ссылки для получения подробной информации об этих объектах. Самое основное отношение между тремя является то, что каждая вкладка браузера имеет свой собственный window
, и a window
и window.document
и window.screen
свойства. Вкладка браузера window
является глобальным контекстом, поэтому document
и screen
смотрите window.document
и window.screen
. Более подробная информация о трех объектах приведена ниже, после JavaScript Фланагана: окончательное руководство.
window
каждая вкладка браузера имеет свой собственный топ-уровня
на window
содержит все, поэтому вы можете вызвать window.screen
и window.document
чтобы получить эти элементы. Проверьте эту скрипку, довольно-печать содержимого каждого объекта:http://jsfiddle.net/JKirchartz/82rZu/
вы также можете увидеть содержимое объекта в firebug / dev tools, как это:
console.dir(window);
console.dir(document);
console.dir(screen);
window
это корень всего,screen
просто размеры экрана, и document
является объектом top DOM. поэтому вы можете думать об этом как window
будучи как супер-document
...
окне это первое, что загружается в браузер. Этот объект window имеет большинство свойств, таких как length, innerWidth, innerHeight, name, если он был закрыт, его родители и многое другое.
документ объект-это ваш html, aspx, php или другой документ, который будет загружен в браузер. Документ фактически загружается внутри объекта window и имеет доступные ему свойства, такие как title, URL, cookie и т. д. Что? это действительно значит? Это означает, что если вы хотите получить доступ к свойству, для окна это окна.свойство, если это документ, это окно.документ.свойство, которое также доступно в виде документа.свойство.