Как подключить JavaScript к HTML: варианты подключения JS

JavaScript можно подключать к HTML разными способами. В зависимости от задачи код может быть встроенным в сам HTML-документ или вынесенным в отдельный файл. Также важен порядок загрузки скриптов, который влияет на производительность страницы.

1. Встроенный JavaScript в теге <script>

JavaScript-код можно разместить прямо внутри HTML-документа, используя тег <script>.

Пример:

<!DOCTYPE html>
<html lang="ru">
<head>
    <title>Встроенный JavaScript</title>
</head>
<body>
    <script>
        console.log('Привет, мир!');
    </script>
</body>
</html>

Такой способ удобен для небольших скриптов, но не рекомендуется для крупных проектов.

2. Подключение внешнего JavaScript-файла

Чаще всего JavaScript размещается в отдельном .js файле и подключается с помощью <script src>, чтобы код был более удобным для поддержки и переиспользования.

Пример:

Файл script.js:

console.log('Этот код подключен из внешнего файла!');

HTML-код:

<!DOCTYPE html>
<html lang="ru">
<head>
    <title>Подключение внешнего JS</title>
    <script src="script.js"></script>
</head>
<body>
</body>
</html>

Этот способ позволяет отделить логику JavaScript от структуры HTML.

3. Атрибуты defer и async при загрузке скриптов

При подключении внешних файлов важно учитывать, когда они загружаются и выполняются.

Атрибут defer

Скрипт загружается в фоновом режиме и выполняется после полной загрузки HTML.

<script src="script.js" defer></script>

Использование defer гарантирует, что скрипт не заблокирует рендеринг страницы.

Атрибут async

Скрипт загружается и выполняется сразу после загрузки, не дожидаясь HTML.

<script src="script.js" async></script>

Этот вариант подходит для независимых скриптов, например, аналитики.

4. Размещение <script> перед </body>

Еще один распространенный вариант — размещение <script> в конце <body>, чтобы основной HTML загружался быстрее.

<!DOCTYPE html>
<html lang="ru">
<head>
    <title>Скрипт перед закрывающим body</title>
</head>
<body>
    <script src="script.js"></script>
</body>
</html>

Этот способ работает аналогично defer и позволяет избежать задержек в загрузке страницы.

Способ подключенияКогда использовать
Встроенный <script>Для небольших тестовых скриптов
Внешний файл <script src>Для организации кода в проектах
<script defer>Для корректного выполнения после загрузки HTML
<script async>Для независимых скриптов (например, аналитики)
Перед </body>Для ускорения загрузки страницы

Выбор метода подключения зависит от требований проекта и особенностей работы со скриптами. В крупных проектах чаще используются внешние файлы и атрибут defer для оптимальной загрузки.