Функции. Описание и использование.
При создании программы разумно выделить в ней логически независимые части (так называемые подпрограммы). Каждую часть при необходимости можно разбить на отдельные подпрограммы и т. д. Разбиение программы на подпрограммы облегчает процесс отладки, т. к. позволяет отлаживать каждую подпрограмму отдельно. Имеет смысл распределить работу по созданию сложной программы между отдельными программистами. Некоторые подпрограммы можно использовать для решения разных задач.
Один раз созданную и отлаженную программу можно использовать произвольное число раз.
Во многих языках программирования понятие подпрограммы реализуется с помощью конструкций процедур, функций, модулей и т. п.
Основным элементом языка JavaScript является функция. Описание функции имеет вид
function F (V) {S}
где F — идентификатор функции, задающий имя, по которому можно обращаться к функции; v — список параметров функции, разделяемых запятыми; s — тело функции, в нем задаются действия, которые нужно выполнить, чтобы получить результат. Необязательный оператор return определяет возвращаемое функцией значение.
Описание функции не может быть вложено в описание другой функции. Параметры функции внутри ее тела играют ту же роль, что и обычные переменные, но начальные значения этим параметрам присваиваются при обращении к функции. Если описание функции имеет вид
function F (vl, v2, ..., vn) {5}
то вызов функции должен иметь вид F (el, e2, . . ., en),где el, e2, ..., en — выражения, задающие фактическиезначения параметров. Параметры vl, v2, ..., vn, указанные в описании функции, называются формальнымипараметрами, чтобы подчеркнуть тот факт, что они получают смысл только после задания в вызове функции фактических параметров el, е2, ..., en, с которыми функция затем и работает. Если в функции параметры отсутствуют, то описание функции имеет вид
function F () {S}
Наличие скобок в операторе вызова функции обязательно, т. е. вызов функции в этом случае должен иметь вид: F()
Обычно все определения и функции задаются в разделе <HEAD> документа. Это обеспечивает интерпретацию и сохранение в памяти всех функций при загрузке документа в браузер.
В следующем примере в разделе заголовка описана функция triangle, вычисляющая площадь треугольника по заданным стороне и высте.
Пример: