Техника Web-дизайна для студента
Подпрограммы-функции
Подпрограммой называется часть программы, оформленная специальным образом и выполняемая только после вызова ее из любого места программы (или из другой подпрограммы), а также при выполнении каких-либо действий с объектами браузера или HTML - документа. Подпрограмма, написанная один раз, может вызываться на выполнение многократно. Кроме того, облегчается отладка программы, состоящей из отдельных подпрограмм, каждая из которых может решать самостоятельную задачу. В принципе программа может состоять из одних подпрограмм. В программах на языке JavaScript используются подпрограммы-функции, которые в дальнейшем будем называть просто функциями. Функция размещается в теле программы, т. е. внутри метки-контейнера <script>...</script> и имеет следующую структуру:
Function имя_функции (список параметров) тело функции
При отсутствии списка параметров круглые скобки обязательны. Слово function следует писать строчными буквами.
В отличие от обычной программы, операторы которой выполняются друг за другом по мере загрузки документа в браузер, функция будет реализовываться только после вызова ее пользователем. Вполне возможен вариант, что в течение всего сеанса работы пользователя с документом, функция не будет вызвана ни разу. Вызов функции на выполнение осуществляется путем указания имени функции в тексте программы либо путем присваивания имени какому-либо событию. Событие задается в виде параметра в метке, по отношению к которой совершается событие, а значением этого параметра должно быть имя вызываемой функции. Пример использования функции в HTML-документе приведен в листинге 8.3.
Листинг 8.3. Использование функции в HTML-документе
<html>
<head>
<title^yHKUHH</title>
<script> function PR1()
Fl. Tl. value="3flpaBCTByiiTe, " + FI. Tl. value + "!"
</script>
</head>
<body>
<form name="Fl">
<h4 align="center">E>BeflHTe свое имя и нажмите кнопку</Ь4> <Р align=center>
<1прЛ type="text" пате="Т1" з1ге="30">
<Р align=center>
<1прЛ type="button" value="Принять" опМоизе0ош1=РЕ1()>
</1:огт>
</body>
В приведенном примере действием, вызывающим функцию на выполнение, является нажатие кнопки. В метке старит т¥РЕ="виттсш"> используется событие опМошеЭохуп (нажатие кнопки мыши), которому присваивается имя функции
РЕ1 ( ).
Некоторые события, которые можно использовать для вызова функций на выполнение, приведены в табл. 8.4. |
Функция содержит только одну строку, в которой изменяется содержимое (параметр уаше) текстового поля Т1, находящегося внутри формы Е1. Параметру УАьив присваивается сумма трех слагаемых: строки СИМВОЛОВ "Здравствуйте, ", СОДержимого текстового поля Т1 до нажатия кнопки (текст, введенный пользователем) и строки "!". Предположим, пользователь ввел в строку имя Николай. После нажатия кнопки в окне браузера можно будет увидеть результат, приведенный на рис. 8.2.
Рис. 8.2. Результат вызова функции в окне браузера после нажатия кнопки Принять |
Таблица 8.4. Список событий, используемых для вызова функций
|
В названиях событий допускается использование как заглавных, так и строчных букв, но не допускается использование пробелов.
Что же касается текстов программ на JavaScript, то используемые в них имена объектов и имена функций чувствительны к регистру букв. Например, если при вызове функции PR1 ( ) в тексте документа написать onMouseDown=Pri ( ), то функция pri ( ) выполняться не будет, а выполнится функция Рг 1 ( ), если, конечно, она существует. Аналогично, если в тексте документа имеются объекты с именами Т1 и tl, то программой они будут восприниматься как разные объекты.
В этом разделе мы познакомились только с функциями без параметров, т. е. с функциями, у которых как в заголовке функции, так и в строке вызова функции в круглых скобках после имени функции отсутствуют списки параметров. Механизм параметров играет исключительно важную роль, и к использованию функций с параметрами мы вернемся после знакомства с основными понятиями объектного программирования.