Подпрограммы-функции

Подпрограммой называется часть программы, оформленная специальным образом и выполняемая только после вызова ее из любого места программы (или из другой подпрограммы), а также при выполнении каких-либо действий с объектами браузера или HTML-документа. Подпрограмма, написанная один раз, может вызываться на выполнение многократно. Кроме того, облегчается отладка программы, состоящей из отдельных подпрограмм, каждая из которых может решать самостоятельную задачу. В принципе программа может состоять из одних подпрограмм. В программах на языке JavaScript используются подпрограммы-функции, которые в дальнейшем будем называть просто функциями. Функция размещается в теле программы, т. е. внутри метки-контейнера <script>...</script> и имеет следующую структуру:

function имя_функции (список параметров) тело функции

При отсутствии списка параметров круглые скобки обязательны. Слово function следует писать строчными буквами.

В отличие от обычной программы, операторы которой выполняются друг за другом по мере загрузки документа в браузер, функция будет реализовываться только после вызова ее пользователем. Вполне возможен вариант, что в течение всего сеанса работы пользователя с документом, функция не будет вызвана ни разу. Вызов функции на выполнение осуществляется путем указания имени функции в тексте программы либо путем присваивания имени какому-либо событию. Событие задается в виде параметра в метке, по отношению к которой совершается событие, а значением этого параметра должно быть имя вызываемой функции.

В приведенном примере действием, вызывающим функцию на выполнение, является нажатие кнопки. В метке cinput type="button"> используется событие onMouseDown (нажатие кнопки мыши), которому присваивается имя функции

PR1 ( ).

Функция содержит только одну строку, в которой изменяется содержимое (параметр value) текстового поля ti, находящегося внутри формы el. Параметру value присваивается сумма трех слагаемых: строки символов "Здравствуйте, ", содержимого текстового поля Т1 до нажатия кнопки (текст, введенный пользователем) и строки "i". Предположим, пользователь ввел в строку имя Николай.

Список событий, используемых для вызова функций

Название событие

Описание события

onMouseDown

Нажатие кнопки мыши над объектом

onMouseUp

Отпускание кнопки мыши над объектом

onMouseMove

Перемещение указателя мыши над объектом

onMouseOut

Перемещение указателя мыши из объекта

onMouseOver

Нахождение указателя мыши над объектом

onClick

Щелчок по объекту

onLoad

Загрузка документа в браузер

onUnLoad

Закрытие документа

В названиях событий допускается использование как заглавных, так и строчных букв, но не допускается использование пробелов.

Что же касается текстов программ на JavaScript, то используемые в них имена объектов и имена функций чувствительны к регистру букв. Например, если при вызове функции pri () в тексте документа написать onMouseDown=Pri (), то функция pri () выполняться не будет, а выполнится функция Pri (), если, конечно, она существует. Аналогично, если в тексте документа имеются объекты с именами Т1 и tl, то программой они будут восприниматься как разные объекты.

В этом разделе мы познакомились только с функциями без параметров, т. е. с функциями, у которых как в заголовке функции, так и в строке вызова функции в круглых скобках после имени функции отсутствуют списки параметров. Механизм параметров играет исключительно важную роль, и к использованию функций с параметрами мы вернемся после знакомства с основными понятиями объектного программирования.