Логотип YeaHub

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

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

Тренажёр

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

Обучение

Навыки

Войти

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

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

© 2026 YeaHub

Документы

Медиа

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

Как влияют теги script на парсинг HTML?

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

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

Обычный тег <script> блокирует парсинг HTML, пока файл не загрузится и не выполнится. Атрибут defer позволяет продолжить парсинг и выполнить скрипт после построения DOM. Атрибут async загружает и выполняет скрипт независимо от DOM. Выбор режима влияет на скорость загрузки и порядок выполнения.

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

Теги script напрямую влияют на то, как браузер строит DOM и выполняет JavaScript.

1) Поведение обычного script

Когда браузер встречает:

<script src="app.js"></script>

Происходит:

  1. Остановка парсинга HTML.

  2. Загрузка файла.

  3. Выполнение скрипта.

  4. Продолжение парсинга.

Это называется parser blocking.

2) Атрибут defer

<script src="app.js" defer></script>

Особенности:

  1. HTML продолжает парситься.

  2. Скрипт выполняется после построения DOM.

  3. Порядок выполнения сохраняется.

Используется для:

  • основного кода приложения

  • инициализации интерфейса

3) Атрибут async

<script src="analytics.js" async></script>

Особенности:

  1. Загружается параллельно.

  2. Выполняется сразу после загрузки.

  3. Порядок выполнения не гарантируется.

Используется для:

  • аналитики

  • сторонних виджетов

4) Почему это важно

Неправильное подключение:

  1. Увеличивает время до первой отрисовки.

  2. Замедляет построение DOM.

  3. Ухудшает Core Web Vitals.

Вывод: обычный script блокирует парсинг HTML, defer откладывает выполнение, async выполняется независимо и быстрее, но без гарантии порядка.

Уровень

  • Рейтинг:

    5

  • Сложность:

    5

Навыки

  • JavaScript

    JavaScript

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

#script

#parsing

#async

#defer

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