- Язык для написания динамических сценариев, выполняемых на стороне клиента - Объектно-ориентированный скриптовый язык программирования - Динамическая типизация - Слабая типизация - Автоматическое управление памятью - Прототипное программирование - Функции как объекты первого класса ## Особенности синтаксиса - Все идентификаторы регистрозависимы - В названиях переменных можно использовать буквы, подчеркивание, символ доллара, арабские цифры - Названия переменных не могут начинаться с цифры - Комментарии как в джаве ## Структура языка - Ядро ([ECMAScript](ECMAScript.md) - спецификация языка) - Объектная модель браузера ([BOM](BOM.md)) - Объектная модель документа ([DOM](DOM.md)) ## Внешнее подключение к HTML #### Через `head` Нужен атрибут `defer` - чтобы скачивать скрипт в фоновом режиме и пользователь не видел белый экран (DOM строится сверху вниз) ```HTML ...
... ``` #### Через `body` DOM создается сверху вниз, поэтому указываем в самом низу ```HTML ... ... ``` ## Внутренний скрипт ```HTML