Назад к вопросам
Middle
78
questionbank

В чем разница между тегами <script>, <script async> и <script defer>?

Sobes Copilot

Получайте ответы в реальном времени

Ответ от нейросети

sobes.tech AI

  • <script>: Парсинг HTML останавливается, скрипт загружается и выполняется немедленно, после чего парсинг HTML возобновляется. Блокирует отрисовку страницы.
  • <script async>: Скрипт загружается параллельно с парсингом HTML, и выполняется, как только загрузится. Парсинг HTML во время загрузки не блокируется, но может быть приостановлен на время выполнения скрипта. Порядок выполнения скриптов с async не гарантирован.
  • <script defer>: Скрипт загружается параллельно с парсингом HTML, но его выполнение откладывается до тех пор, пока парсинг HTML не будет завершен. Скрипты с defer выполняются в том порядке, в котором они встречаются в HTML. Не блокирует отрисовку страницы.
Атрибут Парсинг HTML во время загрузки Парсинг HTML во время выполнения Порядок выполнения
Нет Останавливается Останавливается По порядку
async Продолжается Может приостанавливаться Не гарантирован
defer Продолжается Продолжается По порядку