Middle
110
questionbank
Какая разница между тегами <script>, <script async> и <script defer>?
Ответ от нейросети
sobes.tech AI
Обычный <script>: браузер останавливает парсинг HTML, загружает и исполняет скрипт, затем продолжает парсинг. Блокирует отображение.
<script async>: скрипт загружается асинхронно, парсинг HTML продолжается. Скрипт исполняется сразу после загрузки, при этом может прервать парсинг HTML. Порядок исполнения скриптов не гарантирован.
<script defer>: скрипт загружается асинхронно, парсинг HTML продолжается. Исполнение скрипта откладывается до завершения парсинга HTML и построения DOM-дерева. Скрипты исполняются в порядке их следования в HTML.
| Атрибут | Парсинг HTML | Загрузка скрипта | Исполнение скрипта | Зависимость от порядка |
|---|---|---|---|---|
| Отсутствует | Остановка | Блокирующая | Блокирующая | Гарантирован |
async |
Продолжается | Неблокирующая | Может прервать парсинг | Не гарантирован |
defer |
Продолжается | Неблокирующая | После парсинга HTML | Гарантирован |