Нужно ли сначала загрузить script чтобы он выполнился

«Нужно ли сначала загрузить script чтобы он выполнился» — вопрос из категории HTML, который задают на 10% собеседований Frontend Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Да, скрипт должен быть загружен перед выполнением. Есть несколько способов управления этим:

  1. Обычная загрузка (блокирующая):
<script src="script.js"></script>
  1. Атрибуты для управления загрузкой:
  • async - загружает скрипт асинхронно, выполняется сразу после загрузки
  • defer - загружает асинхронно, но выполняется после полной загрузки DOM
<script async src="script.js"></script>
<script defer src="script.js"></script>
  1. Динамическая загрузка:
const script = document.createElement('script');
script.src = 'script.js';
document.body.appendChild(script);

Важно: скрипты, зависящие от DOM, должны либо использовать defer, либо быть размещены перед закрывающим тегом </body>.