Аргументы позволяют передавать информацию в функцию. Можно также создавать функции, которые возвращают информацию в код сценария, который ее вызвал. Для этого в конец функции вставляется команда 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>
Когда браузер дойдет до этого блока, он обратится к файлу ShowAlert.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. Если вам действительно нужен этот код, то намного лучше скопировать файл на свой веб-сервер.
ПРИМЕЧАНИЕ
Использование сценариев в отдельных файлах не повышает безопасность, поскольку кто угодно
может получить доступ к вашему файлу, а сообразительный веб-посетитель может узнать, какие
сценарии используются на вашей странице, и просмотреть их.
Поэтому никогда не включайте в код секретные данные, которые хотите скрыть от посторонних глаз.