Базовая идея
window — глобальный объект браузерного окружения: вкладка/фрейм, таймеры, location, история, localStorage, сам DOM-корень через window.document.
document — объект документа (DOM-дерево HTML): узлы, querySelector, cookie страницы, готовость загрузки.
document — свойство window (window.document === document в обычной странице).
Что где лежит
| Нужно | Куда смотреть |
|---|
| Размер окна, scroll окна | window |
| URL, reload | window.location |
| Таймеры | window.setTimeout |
| Найти элемент, менять HTML | document |
| Заголовок вкладки | document.title |
| Событие готовности DOM | document (DOMContentLoaded) |
| Полная загрузка ресурсов | window (load) |
window.innerWidth;
document.querySelector("#app");
Вне браузера
В Node нет window/document (есть globalThis). В workers — свой global, без document.
Итог: window — окно/глобал браузера; document — DOM текущей страницы внутри этого окна.