В предыдущем примере скрипт, изменяющий ширину таблицы, содержит 4 команды. Размещение такого большого обработчика события внутри тега не очень удобно, так как читабельность кода резко падает. Поэтому при написании сложных сценариев обычно команды описывают отдельно в виде функции, а в атрибуте события указывают только имя функции.
Функция – это блок программного кода, который описывается один раз и может вызываться многократно. Когда синтаксический анализатор JavaScript встречает описание функции, он анализирует и сохраняет (без исполнения) команды под именем, которое было указано в описании функции.
Описание функции состоит из ключевого слова function, за которым следуют:
имя функции;
заключенный в круглые скобки необязательный список аргументов, разделённых запятыми;
JavaScript-команды, составляющие тело функции, заключённые в фигурные скобки.
Пример описания функции, вычисляющей площадь треугольника:
function triangle(a, h){ var s=a*h/2; window.alert(s); }
Будучи один раз описанной, функция может вызываться с помощью имени функции, а необязательный список значений аргументов указывается в скобках через запятую. Функция, описанная в предыдущем примере, может вызываться следующим образом:
triangle(4, 4); // площадь треугольника высотой 4 и основанием 4 triangle(5, 7); // площадь треугольника высотой 7 и основанием 5
При вызове функции значения, указанные в скобках, передаются в функцию и используются в качестве аргументов.
Понятия функции в программировании и алгебре аналогичны. Совокупность действий над переменными удобно обозначать одной буквой. Например, действия x2 + 5x - 17 обычно обозначают буквой y и она называется функцией: y(x) = x2 + 5x - 17. Здесь x — аргумент функции y. Далее эту букву удобно использовать вместо длинного выражения. Также и в программировании совокупности операторов удобно дать имя и затем использовать только одно это имя вместо повторения всех операторов.
Задание 3
Опишите функцию, вычисляющую и выводящую на экран площадь прямоугольника. Вызовите функцию, вычисляюшую площадь прямоугольника размером 7 на 8.