Files
obsidian/Веб/Фронтенд/JavaScript.md
T
roma-dxunvrs 04fc7af4f4 Weekends
2026-09-07 08:24:01 +03:00

52 lines
2.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
- Язык для написания динамических сценариев, выполняемых на стороне клиента
- Объектно-ориентированный скриптовый язык программирования
- Динамическая типизация
- Слабая типизация
- Автоматическое управление памятью
- Прототипное программирование
- Функции как объекты первого класса
## Особенности синтаксиса
- Все идентификаторы регистрозависимы
- В названиях переменных можно использовать буквы, подчеркивание, символ доллара, арабские цифры
- Названия переменных не могут начинаться с цифры
- Комментарии как в джаве
## Структура языка
- Ядро ([[ECMAScript]] - спецификация языка)
- Объектная модель браузера ([[BOM]])
- Объектная модель документа ([[DOM]])
## Внешнее подключение к HTML
#### Через `head`
Нужен атрибут `defer` - чтобы скачивать скрипт в фоновом режиме и пользователь не видел белый экран (DOM строится сверху вниз)
```HTML
...
<head>
<script src="main.js" defer></script>
</head>
...
```
#### Через `body`
DOM создается сверху вниз, поэтому указываем в самом низу
```HTML
...
<body>
...
<script scr="main.js"></script>
</body>
```
## Внутренний скрипт
```HTML
<body>
<h1>Тест</h1>
<script>
// Чистый JS код прямо в HTML:
const title = document.querySelector('h1');
console.log("Заголовок найден:", title.textContent);
</script>
</body>
```
## В атрибутах
> [!warning] Антипаттерн
```HTML
<button onclick="alert('Привет!')">Нажми меня</button>
```