Skip to main content

Чим window відрізняється від document?

1. Головна відмінність:

Об'єктЩо являє собою
windowусе вікно браузера, в якому завантажена сторінка
documentсам HTML-документ (внутрішній вміст вікна)

Можна сказати:

window - це "усе вікно браузера" document - це "сторінка всередині цього вікна"

2. Взаємозв'язок:

document перебуває всередині window:

javascript
window.document === document; // true

Тобто:

javascript
window └── document (DOM сторінки)

3. Що входить у кожен об'єкт:

window

Являє собою саме середовище вкладки, містить усе, що стосується браузера.

Приклади:

javascript
window.innerWidth; // ширина вікна window.alert("Hi!"); // спливаюче вікно window.location.href; // URL сторінки window.localStorage; // сховище

Також включає:

  • document (сама сторінка),
  • history (переходи назад/вперед),
  • navigator (інфо про браузер),
  • screen, console, setTimeout, fetch, і багато іншого.

document

Являє собою HTML-сторінку всередині вікна, тобто DOM-дерево.

Приклади:

javascript
document.title; // Заголовок сторінки document.body; // <body>...</body> document.querySelector("h1"); // Пошук елемента document.createElement("p"); // Створення елемента

document відповідає лише за контент сторінки - її структуру, теги, текст, стилі тощо.

4. Приклад разом:

HTML:

javascript
<!DOCTYPE html> <html> <body> <h1 id="title">Привіт</h1> <button id="btn">Натисни</button> </body> </html>

JS:

javascript
// через document працюємо зі сторінкою const btn = document.getElementById("btn"); btn.addEventListener("click", () => alert("Клік!")); // через window працюємо з браузером console.log(window.innerWidth); // ширина вікна console.log(window.location.href); // URL

5. Порівняння за функціями

Можливістьwindowdocument
Керує HTML-сторінкоюОпосередкованоТак
Керує вкладкою/браузеромТакНі
Містить DOM-деревоТак (через document)Так, сам об'єкт DOM
Методи для пошуку елементівНіТак
Методи для навігації та сховищаТакНі
Батьківський об'єкт-window
Глобальні змінніЗберігаються тут-

6. Приклад із реального життя:

  • window - це вся квартира (зі стінами, вікнами і дверима);
  • document - це кімната всередині неї (де стоять меблі і все можна переставляти).

Ти можеш:

  • через document змінювати меблі (DOM-елементи),
  • через window - відкрити двері, подивитися у вікно або увімкнути світло (дії, що стосуються самої квартири, а не кімнати).

Коротко:

Властивістьwindowdocument
Являє собоюВікно (вкладку) браузераHTML-документ усередині
ТипГлобальний об'єкт середовищаОб'єкт DOM
Де створюєтьсяБраузером при відкритті вкладкиПісля парсингу HTML
Міститьdocument, location, history, navigator, API та ін.DOM-елементи і структуру сторінки
Використовується дляТаймерів, URL, подій, сховищаМаніпуляцій з HTML та DOM
Прикладwindow.innerWidthdocument.body

Підсумок: window - усе вікно браузера і його середовище. document - HTML-сторінка всередині цього вікна.

Через window ти керуєш браузером, через document - вмістом сторінки.

Коротка відповідь

Для співбесіди
Premium

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.