Создаем динамические веб-сайты с помощью PHP, MySQL и JavaScript |
Страница 339 из 478 Пример 16.2. Модификация функции для использования массива аргументов <script> function displayItemsО { for (j - 0 ; j < displayIterns.arguments.length ; ++j) document, wri te(di spi ay Items. argumentsU] + "<br />") } </script> Обратите внимание на использование свойства 1 ength, которое уже встречалось в предыдущей главе, а также на то, как с помощью переменной j, являющейся индексным смещением внутри массива, осуществляется ссылка на элементы display Items. arguments. Поскольку тело цикла for состоит всего из одной инструкции, я решил не заключать его в фигурные скобки, чтобы не загромождать код функции. Теперь благодаря данной технологии у вас есть функция, способная принимать любое количество аргументов и делать с каждым аргументом все, что вам захочется. Функции используются не только для отображения информации. Чаще всего они применяются для выполнения вычислений или обработки данных с возвращением полученного результата. Функция f i xNames, показанная в примере 16.3, использует массив arguments (рассмотренный в предыдущем разделе) для приема переданной ей последовательности строк и возвращения всех этих строк в виде одной строки. Слово «fix» (исправление) в ее имени означает, что она переводит каждый символ в аргументах в нижний регистр, делая исключение для первой буквы каждого аргумента, которую она превращает в прописную. Пример 16.3. Приведение в порядок полного названия <script> document.write(fixNames("the", "DALLAS", "CowBoys")) function fixNamesО { var s = "" for (j = 0 ; j < fixNames.arguments.length ; ++j) s += fixNames.arguments[j].charAt(0).toUpperCaseO + fixNames.arguments[j].substr(l).toLowerCaseO + " " return s.substr(0, s.length-1) } </script> К примеру, если вызвать эту функцию с параметрами the, DALLAS и CowBoys, то она вернет строку The Dallas Cowboys. Давайте проанализируем работу этой функции. Сначала она инициализирует временную (и локальную) переменную s, присваивая ей значение пустой строки. Затем с помощью цикла for осуществляется последовательный перебор каждого переданного параметра с выделением его |