2.1 KiB
2.1 KiB
- Язык для написания динамических сценариев, выполняемых на стороне клиента
- Объектно-ориентированный скриптовый язык программирования
- Динамическая типизация
- Слабая типизация
- Автоматическое управление памятью
- Прототипное программирование
- Функции как объекты первого класса
Особенности синтаксиса
- Все идентификаторы регистрозависимы
- В названиях переменных можно использовать буквы, подчеркивание, символ доллара, арабские цифры
- Названия переменных не могут начинаться с цифры
- Комментарии как в джаве
Структура языка
- Ядро (ECMAScript - спецификация языка)
- Объектная модель браузера (BOM)
- Объектная модель документа (DOM)
Внешнее подключение к HTML
Через head
Нужен атрибут defer - чтобы скачивать скрипт в фоновом режиме и пользователь не видел белый экран (DOM строится сверху вниз)
...
<head>
<script src="main.js" defer></script>
</head>
...
Через body
DOM создается сверху вниз, поэтому указываем в самом низу
...
<body>
...
<script scr="main.js"></script>
</body>
Внутренний скрипт
<body>
<h1>Тест</h1>
<script>
// Чистый JS код прямо в HTML:
const title = document.querySelector('h1');
console.log("Заголовок найден:", title.textContent);
</script>
</body>
В атрибутах
[!warning] Антипаттерн
<button onclick="alert('Привет!')">Нажми меня</button>