
- •6. JavaScript - язык разработки клиентских веб-приложений
- •Структура языка
- •Объектная модель браузера
- •Объектная модель документа
- •Основы JavaScript (ecmaScript)
- •Типы данных
- •Операторы
- •Функции
- •Объекты
- •Операторы работы с объектами
- •Клиентские объекты
- •Массивы
- •Встраивание JavaScript в веб-страницы
- •Обработка событий в JavaScript
- •Регулярные выражения
- •Регулярные выражения в JavaScript
Операторы
Язык поддерживает условные выражения if и if...else. При использовании нескольких условий одновременно можно использовать операторы ||(ИЛИ ) или && (И).
В JavaScript существует несколько типов циклов: for, for...in, while, do...while и switch. Также существует инструкция остановки выполнения цикла. Оператор завершения break может применяться для того, чтобы остановить цикл, при выполнении какого-либо условия. Инструкция continue используется, чтобы немедленно перейти к выполнению следующей итерации, пропуская остальную часть выполнения кода текущей итерации, но обновляя переменную-счетчик.
Функции
В JavaScript имеется два вида функций: встроенные и определяемые. Программист имеет возможность создавать собственные функции. Определение функции состоит из объявления параметров и блока инструкций JavaScript.
Перед тем как воспользоваться функцией, ее необходимо предвариетльно определить. Декларация функции имеет вид:
function имя (аргументы)
{
операторы
}
Здесь имя - идентификатор, задающий имя функции, аргументы - необязательный список идентификаторов, разделенных запятыми, который содержит имена формальных аргументов функции, а операторы - любой набор операторов, который называется телом функции и исполняется при ее вызове.
Пример:
function area(radius)
{
return pi* radius * radius;
}
Эта функция называется area и имеет один формальный аргумент radius. При вызове этой функции вместо формального аргумента подставляется его фактическое значение, функция вычисляет площадь круга на основе этого значения и возвращает полученное число через оператор return.
Переменные, декларированные в теле функции, являются локальными, т. е. недоступны вне ее тела.
При вызове функции в JavaScript действуют следующие правила передачи аргументов функции:
Аргументы примитивных типов передаются функции по значению.
Объекты (и встроенные, и определенные пользователем) передаются по ссылке. Это означает, что все изменения свойств объекта в теле функции производятся непосредственно в самом объекте, а не в его локальной копии и, следовательно, сохраняются после возврата из функции.
В JavaScript функция выступает в качестве одного из основных типов данных. Одновременно с этим в JavaScript определен класс объектов Function.
В общем случае любой объект JavaScript определяется через функцию. Для создания объекта используется конструктор, который в свою очередь вводится через Function. Таким образом, с функциями в JavaScript связаны следующие ключевые вопросы:
функция как тип данных;
функция как объект;
функция как конструктор объектов.
Объекты
Объект - это главный тип данных JavaScript. Объекты в JavaScript, по-сути, являются совокупностями методов и свойств.
Переменная любого (отличного от объекта) типа данных, прежде чем к ней можно будет получить доступ, конвертируется в объект, и только после этого выполняются действия над ее значением. Тип данных Object сам определяет объекты.
Сценарии JavaScript могут использовать объекты следующих видов:
клиентские объекты, входящие в модель DOM, т.е. отвечающие тому, что содержится или происходит на Web-странице в окне браузера. Они создаются браузером при разборе (парсинге) HTML-страницы. Примеры: window, document, location, navigator и т.п.
серверные объекты, отвечающие за взаимодействие клиент-сервер.
встроенные объекты, представляющие различные типы данных, свойства, методы, присущие самому языку JavaScript, независимо от содержимого HTML-страницы. Примеры: Array, String, Date, Number, Function, Boolean, Math.
пользовательские объекты, которые создаются программистом в процессе создания сценария с использованием конструкторов типа объектов (класса).