Язык JavaScript
Выше автор предупреждал, что не будет давать вам полный курс JavaScript. Эта книга не о JavaScript, а о Macromedia Dreamweaver MX, а все остальное вторично. Если вы хотите побольше узнать о JavaScript, принципах написания программ на этом языке и, вообще, о "классическом" программировании, найдите хорошие книги по этой теме. А мы вернемся к Dreamweaver.
Но, для того чтобы вы поняли, что есть на самом деле Web-сценарии, необходимо провести хотя бы краткий ликбез. И сейчас он будет проведен.
Давайте вернемся к уже знакомому нам HTML. Что он собой представляет? Набор тегов, описывающих внешний вид и (отчасти) структуру представления данных, которые будут отображаться в Web-обозревателе. HTML, как вы помните, язык описания данных.
JavaScript же – язык описания алгоритмов обработки этих самых данных. Поэтому он содержит набор инструкций, предписывающих выполнение тех или иных действий над данными. Чтобы облегчить работу программиста, способ написания этих инструкций максимально приближен к обычной математической нотации, слегка "разбавленной" словами обычного английского языка. (Вот еще один повод взяться за английский.)
Такие инструкции, описывающие действия над данными, называются выражениями. Выражения состоят из операторов и операндов; операторы описывают сами действия, а операнды – данные, над которыми будут производиться эти действия. Причем, операндами могут быть как константы (числа, строки, даты, одним словом, неизменяемые значения), так и переменные (специально отведенные ячейки для хранения промежуточных результатов вычислений).
Давайте рассмотрим одно из таких выражений:
b
=
z
/
t;
Это выражение делит значение переменной z на значение переменной t и результат помещает в переменную b. Как вы уже поняли, знак "/" обозначает оператор деления, а знак "=" – оператор присваивания значения какой-либо переменной. Знак ";", помещенный в конце выражения, обозначает, собственно, его конец; встретив этот знак, интерпретатор JavaScript считает выражение законченным.
Вот еще два выражения:
sum
=
a1
+
a2
+
a3
-
20
;
square
=
x
*
y;
Первое выражение складывает друг с другом значения переменных a1, a2 и а3, после чего вычитает из результата 20 и помещает его в переменную sum.
Второе выражение перемножает значения переменных x и у и помещает результат в переменную square.
Чтобы управлять порядком вычисления выражения, вы можете использовать скобки:
s
=
(a
+
b)
/
(c
-
d);
В этом выражении сначала будет вычислена сумма а и b, потом – разность с и а, после чего сумма будет поделена на разность. Если бы мы не использовали скобки, то выражение имело бы вид:
s
=
a
+
b
/
c
-
d;
При этом сначала было бы вычислено частное от деления b на с, после чего к нему была бы прибавлена а, а затем из этой суммы вычлось бы d. Попробуйте подставить вместо а, b, с и d реальные числовые значения и вычислить результаты этих выражений. Вы увидите, что они получатся разными.
В JavaScript можно написать и так:
a
=
a
+
1
;
…и это выражение будет правильным. Оно предписывает интерпретатору извлечь значение из переменной а, увеличить его на единицу и поместить в ту же переменную. Это выражение можно записать и короче:
a
+
=
1
;
Кстати, любая переменная перед тем, как будет использована, должна быть объявлена. Объявление переменных выполняется с помощью специального оператора объявления var:
var
a1, a2, a3, x, y
Объявляемые переменные просто перечисляются после этого оператора, после чего их можно использовать в сценарии. Такие переменные называются глобальными, т. к. могут быть использованы где угодно в программе.