страница 124
При написании функций полезно задать ей узкую специализацию. В принципе, можно сгенерировать функцию длиной в несколько сотен строк кода. Однако такие функции трудно обслуживать и отлаживать. Поэтому такие громадные конструкции следует разбить на небольшие, более сегментированные структуры.
Параметры функций
В главе 5 был приведен пример обработчика события, который вызывает функцию с помощью ее имени. Любой вызов функции, включая и функции из других операторов JavaScript, осуществляется по одной и той же схеме: в конце имени каждой функции следуют скобки.
Можно определить функцию так, что она будет получать значения своих параметров непосредственно из вызывающего ее оператора. В листинге 7.1 показан пример документа, в который добавлена кнопка. Обработчик события onClick этой кнопки вызывает функцию, передавая ей при этом текстовые данные в качестве параметра. Текстовая строка, используемая в вызове обработчиком события, является вложенной строкой - это набор одинарных кавычек внутри двойных кавычек, используемых во внешних атрибутах обработчика событий.
<html> <head> <script type="text/javascript"> function showMsg(msg) { alert("The button sent: " + msg); } </script> </head> <body onload="done()"> Текст страницы. <form> <input type="button" value="Click Me" onclick="showMsg('The button has been clicked!')"> </form> </body> </html>
Листинг 7.1 Вызов функции обработчиком событий
Параметры (известные также как аргументы) призваны обеспечить механизм "передачи" значения от одного оператора к другому в процессе вызова и выполнения функции. Если в определении функции вообще не используются параметры, то и в описании функции при ее вызове вы увидите пустую пару скобок (см. листинг 5.8 главы 5).