Обзоры

Функции javascript, которые возвращают информацию

Аргументы позволяют передавать информацию в функцию. Можно также создавать функции, которые возвращают информацию в код сце­нария, который ее вызвал. Для этого в конец функции вставляется команда return. Она немедленно останавливает работу функции и выдает нужную информацию.

Разумеется, сложная функция может принимать и возвращать ин­формацию. Следующий пример демонстрирует функцию, которая умножает два числа (полученные в виде аргументов) и возвращает ре­зультат:

<script type="text/javasript">
function MultiplyNumbers(numberA, numberB) {
return numberA * numberB
}
</script>

Использовать функцию где-то на веб-странице можно следующим образом:

<р>Произведение чисел 3202 и 23405 равно
<script type="text/javascript">
var product = MultiplyNumbers(3202, 23405)
document.write(product)
</script>
</p>

Код XHTML выводит одну текстовую строку, за которой следует блок кода сценария. Сценарий вызывает функцию MultiplyNumbers (), получает результат (число 74942810) и присваивает его переменной product для дальнейшего использования. Затем команда document. write () выводит содержимое переменной product на страницу. В ре­зультате на экране появится абзац с текстом:

Произведение чисел 3202 и 23405 равно 74942810

Чтобы использовать типичные сценарии, полученные из сети, не­обходимо скопировать одну или более функций на свою страницу. Эти функции, скорее всего, окажутся более сложными, нежели те, которые вы видели до сих пор. Зато теперь, понимая основную структуру функ­ции, вы сможете разобраться в коде и понять, что она делает (или хотя бы определить позицию, где выполняется действие).

Внешние файлы сценариев

Повторное использование сценариев внутри веб-страницы — это за­мечательно, но знаете ли вы, что можете использовать одни и те же сце­нарии на нескольких страницах и даже на разных веб-сайтах? Хитрость заключается в том, чтобы поместить сценарий во внешний файл и уста­новить с ним связь.

Например, представьте идеальную подпрограмму showAlertBox (), которая выполняет сложную задачу так, как вам нужно, но состоит из множества строк кода. Чтобы упростить свою жизнь и свой XHTML- документ, вы можете создать новый файл, в котором будет храниться этот сценарий.

Формат файлов сценариев всегда текстовый. Как правило, файлы имеют расширение .js (от слова JavaScript). Весь код помещается внутрь такого файла, но без элемента <script>. Например, вы могли бы соз­дать файл ShowAlert.js следующего содержания:

function ShowAlertBox() {

alert("Эта функция во внешнем файле.") }

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

<script type="text/javascript" scr="ShowAlert.js"> </script>

Когда браузер дойдет до этого блока, он обратится к файлу Show­Alert.js и обработает его так, как будто бы код находится прямо внутри страницы. Следующий пример показывает полную XHTML-страницу с вызовом файла ShowAlert.js. Сценарий в теле страницы вызывает функ­цию ShowAlertBox ():

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtmll/DTD/xhtmll-strict.dtd">
chtml xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Show Alert</title>
<!— Выполнить все функции из файла ShowAlert.js на этой странице. —>
<script type="text/javascript" src="/ShowAlert.js"> </script>
</head>
<body>
<!— Протестировать одну из функций. —>
<script type="text/javascript">
ShowAlertBox()
</script>
</body>
</html>

Работа внешнего сценария не отличается от работы внутреннего. Од­нако хранение сценариев в отдельных файлах помогает поддерживать организацию веб-сайта и использовать их на разных страницах. Факти­чески возможно обращение к JavaScript-функции, находящейся на дру­гом веб-сайте, только следует помнить о том, что атрибут src в блоке <script> должен указывать на полный URL-адрес (например, http: / / SuperScriptSite.com/ShowAlert.js), а не только на имя файла.

девон-рекс

Ко­нечно, это рискованная техника, поскольку владелец веб-сайта может переименовать, переместить или изменить файл JavaScript. Если вам действительно нужен этот код, то намного лучше скопировать файл на свой веб-сервер.

ПРИМЕЧАНИЕ
Использование сценариев в отдельных файлах не повышает бе­зопасность, поскольку кто угодно
может получить доступ к вашему файлу, а сообразительный веб-посетитель может узнать, какие
сце­нарии используются на вашей странице, и просмотреть их.
Поэто­му никогда не включайте в код секретные данные, которые хотите скрыть от посторонних глаз.

Это интересно