Я всегда помещал теги script в нижней части страницы, так как хорошая практика загрузки скриптов после таких вещей, как HTML/CSS, и текст закончил загрузку. Я только что узнал об атрибуте defer, который в основном делает то же самое, то есть он ждет, пока страница закончит загрузку, прежде чем извлекать и выполнять скрипты.
Итак, если использовать атрибут defer, необходимо физически разместить теги script в нижней части страницы и внутри основного тега?
Мне удобнее хранить теги script внутри раздела главы.
<script src="script.js" defer="defer"></script>
или
<script defer="defer">
// do something
</script>