Логотип YeaHub

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

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

Тренажёр

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

Обучение

Навыки

Войти

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

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

© 2026 YeaHub

Документы

Медиа

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

Зачем для тега <script> добавляют атрибуты async и defer?

Этот вопрос проверяет понимание работы атрибутов async и defer в контексте загрузки и выполнения JavaScript-кода на веб-страницах.

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

Атрибуты async и defer у тега <script> используются для управления тем, как и когда браузер загружает и выполняет JavaScript. async загружает скрипт асинхронно и выполняет его сразу после загрузки, не дожидаясь завершения загрузки всей страницы. defer также загружает скрипт асинхронно, но откладывает его выполнение до полной загрузки HTML-документа, что предотвращает блокировку рендеринга страницы.

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

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

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

Пример:

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

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

Пример:

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

Использование этих атрибутов позволяет оптимизировать время загрузки и улучшить пользовательский опыт, особенно на страницах с большим количеством скриптов или при наличии тяжелых JavaScript-фреймворков.

Уровень

  • Рейтинг:

    4

  • Сложность:

    6

Навыки

  • JavaScript

    JavaScript

  • HTML

    HTML

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

#async

#defer

#script

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