Ответ
При парсинге HTML браузер встречает эти теги и обрабатывает их особым образом:
-
<link>(с атрибутомrel="stylesheet") - блокирует рендеринг до загрузки CSS-файла, но не блокирует парсинг HTML. DOM-элемент создаётся сразу. -
<img>- не блокирует парсинг и рендеринг. Изображение загружается асинхронно, DOM-элемент создаётся сразу, но отрисовка может произойти позже. -
<script>- по умолчанию блокирует парсинг HTML до загрузки и выполнения скрипта. DOM-элемент создаётся после выполнения.
Пример с async/defer:
<script src="script.js" defer></script> <!-- выполнится после парсинга -->
<script src="script.js" async></script> <!-- выполнится при готовности -->