Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про JavaScript: script blocking, HTML parsing, async, defer, DOMContentLoaded

Все ли скрипты блокируют парсинг HTML?

Вопрос проверяет понимание того, как браузер обрабатывает скрипты и какие из них блокируют парсинг HTML, что важно для оптимизации загрузки страниц.

Короткий ответ

Не все скрипты блокируют парсинг HTML. Обычные скрипты без атрибутов блокируют парсинг до полной загрузки и выполнения. Скрипты с атрибутами async или defer не блокируют парсинг, но ведут себя по-разному: async загружается параллельно и выполняется сразу после загрузки, а defer — после завершения парсинга. Это позволяет ускорить загрузку страницы.

Длинный ответ

Как скрипты влияют на парсинг HTML

Когда браузер встречает тег <script> без атрибутов, он останавливает парсинг HTML, загружает скрипт, выполняет его, и только потом продолжает разбор документа. Это может замедлить отображение страницы, особенно если скрипт тяжёлый или загружается с медленного сервера.

Атрибуты async и defer

Атрибут async позволяет загружать скрипт параллельно с парсингом HTML. Как только скрипт загружен, он выполняется, приостанавливая парсинг. Атрибут defer также загружает скрипт параллельно, но откладывает его выполнение до полного завершения парсинга документа. Оба атрибута не блокируют парсинг, но defer гарантирует порядок выполнения скриптов, а async — нет.

Пример кода

<!-- Блокирующий скрипт -->
<script src="script.js"></script>

<!-- Неблокирующий async -->
<script src="script.js" async></script>

<!-- Неблокирующий defer -->
<script src="script.js" defer></script>

Вывод

Используйте defer для скриптов, которые должны выполняться после полной загрузки DOM, и async для независимых скриптов, например, аналитики. Это улучшает производительность и пользовательский опыт.

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию

Уровень

  • Рейтинг:

    4

  • Сложность:

    4

Навыки

  • JavaScript

    JavaScript

  • HTML

    HTML

Ключевые слова

#script blocking

#HTML parsing

#async

#defer

#DOMContentLoaded

Подпишись на React Developer в телеграм

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию