DOMContentLoaded означает завершение разбора DOM и выполнения соответствующих отложенных скриптов. Load ждёт также зависимые ресурсы страницы, например обычные изображения.
[имя] спросил(а): почему ты повесил обработчик на window load, а не написал код напрямую? В чём разница между window load и document DOMContentLoaded?
DOMContentLoaded означает завершение разбора DOM и выполнения соответствующих отложенных скриптов. Load ждёт также зависимые ресурсы страницы, например обычные изображения.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
DOMContentLoaded означает завершение разбора DOM и выполнения соответствующих отложенных скриптов. Load ждёт также зависимые ресурсы страницы, например обычные изображения.
Для работы с готовой структурой документа чаще достаточно DOMContentLoaded, defer или корректного расположения скрипта. Load нужен, когда важна готовность ожидаемых ресурсов. Прямой вызов допустим, если нужные элементы уже существуют; поздно добавленный обработчик прошедшего события сам не выполнится.