Как писать скрипты
Обработчики событий
Обработчики событий следует оформлять в виде функций или процедур. В JScript используются только функции, а в VBScript – в основном, процедуры. Функция от процедуры отличается только тем, что возвращает некоторое значение. Следует различать описание (определение) функции и ее вызов.
Описание функции в JScript имеет вид:
function имя_функции (список_параметров) { ... // код (тело) функции };Ключевое слово function сообщает интерпретатору (браузеру), что далее идет описание функции. Список параметров, если он есть, представляет собой последовательность идентификаторов, разделенных запятыми.
Идентификаторы – просто символьные обозначения параметров, начинающиеся с буквы или символа подчеркивания. Код (тело) функции выделяется фигурными скобками. Выражения в коде, если их несколько, разделяются точкой с запятой. Комментарии начинаются двойным слэшем //. Если требуется явно указать, что именно должна возвратить функция в качестве результата, используется команда:
return возвращаемый_результатЕсли команда return не указана, то возвращается значение последнего вычисленного выражения. Следующий пример дает описание функции для вычисления площади прямоугольника:
function S_rectangle(a, b) { S = a * b; return S };Для вычисления значения функции используется вызов:
имя_функции (список_значений_параметров)Например, для вычисления площади прямоугольника со сторонами 5 и 20 следует записать выражение:
S = S_rectangle(5.20)Здесь значение, возвращаемое функцией S_rectangle, присваивается переменной S. В вызове функций вместо конкретных значений можно подставлять переменные, функции и выражения. Вот пример:
x = 5; S = S_rectangle(x, 4 + 16)Поскольку функция возвращает значение, ее вызов может участвовать в выражениях. Например, для вычисления площади прямоугольного треугольника с катетами а и b можно записать следующий код:
a = 5; b = 20; S_tr = 0.5 * S_rectangle(a, b)Впрочем, мы могли бы определить специальную функцию, вычисляющую площадь прямоугольного треугольника по его катетам:
function S_tr(a, b) { return 0.5 * S rectangle(a, b) }Переменные
При разработке программ, как правило, используются переменные, служащие для хранения исходных данных, а также промежуточных и конечных результатов вычислений. Переменная создается в том месте программы, где впервые появилось выражение, в котором ей было присвоено значение. Если переменная создана в теле функции, то она будет доступна только внутри этой функции. Рассмотрим пример:
<SCRIPT LANGUAGE 'JScript'> // Вычисление площади прямоугольного треугольника с помощью функции для площади прямоугольника a = 5; b = 20; S_tr = 0.5 * S_rectangle(a, b) // Вычисление площади прямоугольного треугольника. function S_rectangle(a, b) { // Описание функции вычисления площади прямоугольника. S = a * b; return S } </SCRIPT>Здесь все переменные доступны внутри функции:
S_rectangle()Но переменная S недоступна вне ее. Чтобы сделать переменную S доступной в любом месте скрипта, нужно просто создать ее вне функции. Например, можно записать выражение S = 0; в том месте скрипта, где определены переменные а и b.
