Почему и когда тег <script> видимый при display:block в CSS
Быстрый ответ
Если вам нужно исполнить JavaScript на вашем сайте, используйте <script> с внешними ссылками:
<script src="your-script.js"></script>
Стоит размещать скрипты в отдельных файлах: это позволяет улучшить производительность за счёт кэширования и поддерживать порядок в HTML. Отныне, следует избегать встраивания скриптов в код, чтобы не создать уязвимости для безопасности и не захламлять код. Однако в ряде ситуаций теги <script> могут быть использованы видимо, для демонстрации кода, например, или вложения данных, которые не относятся к структуре страницы.

Ситуации, где видимость будет полезна
Есть несколько обстоятельств, при которых обращение к видимым тегам <script> может оказаться крайне полезным. Так, это может пригодиться в процессе обучения, для хранения данных, а также во время отладки или шаблонизации.
Примеры кода в обучающих материалах
В учебных материалах или документации использование видимых <script> для демонстрации кода будет представлять собой полезное решение:
<script type="text/plain" style="display: block;">
  // "Привет, мир" на JavaScript
  console.log("Привет, Stackoverflow!"); // Приветствие для пользователей SO
</script>
Такие блоки должны быть видимы, и для их отображения не потребуется экранирование символов < и >.
Данные в HTML
В случае размещения больших объёмов данных прямо в HTML, оказывается уместным использование тега <script> :
<script type="application/json" id="myData">
  // Здесь могут быть ваши данные
  {
    "joke": "Почему программисты не любят природу? Слишком много багов."
  }
</script>
Этот подход считается удобным для хранения необработанных данных, особенно если данные представлены в формате JSON.
Отладка
Тег <script> может окажет помощь в отладке, путем показа адреса файла скрипта перед его исполнением.
Шаблонизация
Тэги <script> отлично подходят для хранения HTML-шаблонов, которые затем могут быть использованы в JavaScript:
<script type="text/template" id="profile-template">
  <div class="profile">
    <img src="" alt="Фотография профиля">
    <h3></h3>
    <!-- Дополнительная информация -->
  </div>
</script>
С помощью свойства innerHTML, вы сможете получить строковое представление HTML для последующего использования.
Визуализация
Тег <script> можно сравнить с инструментом строителя:
🏗️ Построение веб-страницы
🧰 <script> (Скрыт)
    – Поддерживает порядок на стройплощадке
👷♂️ <script> (Видимый)
    – Инструменты всегда под рукой у разработчиков
🧰 <script> (Открыт для посетителей)
    – Внимание! Раскиданные инструменты – прямой путь к неприятностям
Обычно, тег <script> располагают в конце <body>, это способствует лучшей загрузке страницы и обеспечивает повышенную безопасность.
Улучшение пользовательского опыта
Видимый <script> может играть свою роль в создании интерактивных обучающих материалов. Благодаря индicator, указывающему источник скрипта, процесс отладки становится более понятным для разработчиков.
script[src]:before {
  content: attr(src);
  display: block;
}
Повышенная прозрачность кода улучшает комфорт использования сайта.
Вопросы безопасности
Безопасность всегда приоритетна: важно гарантировать, что не произойдёт утечки важных данных, и обезопаситься от внешних угроз.
А что насчёт стилизации?
Вполне допустимо настроить стили для отображения <script>, главное — не позволить этому испортить внешний вид страницы.
Завершение о выполнении скрипта
Что произойдет, если убрать тег <script> после его исполнения? Ничего особенного, исполненный скрипт будет продолжать работать даже без своего тега. Заметим, что видимость <script> никак не влияет на его функциональность.
Полезные материалы
- <script>: Элемент Script – HTML: Язык разметки гипертекста | MDN — Полное руководство по элементу <script>.
 - HTML script tag — Интерактивный учебник по тегу <script>.
 - Скрипты: async, defer — Пояснения к атрибутам скриптов с примерами.
 - Оптимизация производительности за счет использования Resource Hints — Smashing Magazine — Изучение стратегий загрузки JavaScript.
 - Детальное рассмотрение процесса загрузки скриптов | Статьи | web.dev — Руководство по стратегиям оптимизации загрузки скриптов.
 


