Как писать скрипты
Обработчики событий
Обработчики событий следует оформлять в виде функций или процедур. В 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.