В JavaScript имеется два вида функций: встроенные и определяемые. Программист имеет возможность создавать собственные функции. Определение функции состоит из объявления параметров и блока инструкций JavaScript.
Перед тем как воспользоваться функцией, ее необходимо предвариетльно определить. Декларация функции имеет вид:
function имя (аргументы)
{
операторы
}
Здесь имя - идентификатор, задающий имя функции, аргументы - необязательный список идентификаторов, разделенных запятыми, который содержит имена формальных аргументов функции, а операторы - любой набор операторов, который называется теломфункции и исполняется при ее вызове.
Пример:
function area(radius)
{
return pi* radius * radius;
}
Эта функция называется area и имеет один формальный аргумент radius. При вызове этой функции вместо формального аргумента подставляется его фактическое значение, функция вычисляет площадь круга на основе этого значения и возвращает полученное число через оператор return.
Переменные, декларированные в теле функции, являются локальными, т. е. недоступны вне ее тела.
|
|
При вызове функции в JavaScript действуют следующие правила передачи аргументов функции:
· Аргументы примитивных типов передаются функции по значению.
· Объекты (и встроенные, и определенные пользователем) передаются по ссылке. Это означает, что все изменения свойств объекта в теле функции производятся непосредственно в самом объекте, а не в его локальной копии и, следовательно, сохраняются после возврата из функции.
В JavaScript функция выступает в качестве одного из основных типов данных. Одновременно с этим в JavaScript определен класс объектов Function.
В общем случае любой объект JavaScript определяется через функцию. Для создания объекта используется конструктор, который в свою очередь вводится через Function. Таким образом, с функциями в JavaScript связаны следующие ключевые вопросы:
· функция как тип данных;
· функция как объект;
· функция как конструктор объектов.