Читать «HTML5. Недостающее руководство» онлайн - страница 314

Мэтью Мак-Дональд

Функции, которые получают и возвращают данные Ранее мы рассмотрели простую функцию showMessage() . При вызове этой функции ей не нужно предоставлять никаких данных, а по завершению исполнения она не возвращает никакой информации.

Функции не всегда такие простые. Во многих случаях функциям нужно передавать информацию или же получить результаты исполнения функции и использовать их для другой операции. Допустим, что нам нужно создать версию функции showMessage() , которая может показывать разные сообщения. Для этого функцию showMessage() нужно модифицировать так, чтобы она принимала параметр . Этот параметр представляет любой текст, который мы хотим отображать посредством этой функции.

Чтобы оснастить функцию параметром, ему нужно присвоить имя, например customMessage , и поместить его в круглые скобки после названия функции: function showMessage( customMessage ) {

alert(customMessage);

}

Функция может принимать любое количество параметров. Множественные параметры в списке разделяются запятыми .

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

Теперь при вызове функции showMessage() ей нужно передать значение (которое называется аргументом 1 ) для каждого параметра функции: showMessage("Nobody likes an argument.");

Таким образом, параметры позволяют передавать информацию функции. Можно также создать функцию, отправляющую информацию назад коду, который вызвал ее. Для этого с функцией используется команда return , которая помещается в са-мом конце функции. Эта команда немедленно прекращает выполнение функции и возвращает созданную функцией информацию. Конечно же, продвинутая функция может принимать и возвращать информацию. Так, далее приводится пример функции, которая умножает два передаваемых ей числа (параметры numberA и numberB ) и возвращает полученный результат: function multiplyNumbers(numberA, numberB) { return numberA * numberB;

Вот пример, как эту функцию можно использовать на странице: // Передаем функции два числа и получаем результат. var result = multiplyNumbers(3202, 23405);

// Используем результат, чтобы создать сообщение. var message = "The product of 3202 and 23405 is " + result;

// Отображаем сообщение.

showMessage(message);

Конечно же, для того чтобы умножить два числа, нам функция не нужна (это мож-но сделать посредством обычных операций JavaScript), также как и не нужна нам функция для отображения окна сообщения (поскольку встроенная функция alert() может прекрасно справиться с этой задачей). Но эти примеры служат хорошей ил-люстрацией работы и применения функций, и мы будем использовать параметры и возвращаемые значения точно таким же образом в более сложных функциях. Взаимодействие со страницей Итак, мы знаем, как правильно вставить код JavaScript в страницу, но кроме вывода окна сообщения мы еще не применили эти знания для выполнения какой - либо практической задачи. И прежде чем начать двигаться в этом направлении, нам нужно узнать немного больше о типичной роли JavaScript. Прежде всего, важно понимать, что код JavaScript исполняется в "песочнице". Это означает, что его возможности тщательно ограничиваются. Этот код не может вы-полнять задачи, потенциально угрожающие безопасности компьютера посетителя, такие как, например, управление принтером, обращение к файлам, исполнение дру-гих программ, форматирование жесткого диска и т. п. Такой подход позволяет хо-рошо обезопасить компьютер даже самых неосторожных посетителей. Большую часть времени JavaScript выполняет следующие задачи.  Обновляет страницу. Код сценария может изменять, удалять и добавлять эле-