На этом шаге мы рассмотрим некоторые арифметические операции.
При составлении арифметических выражений мы не обойдемся без арифметических операций. Помимо известных вам операций сложения (+), вычитания (-), умножения (*) и деления (/) JavaScript унаследовал от языка программирования C++ ряд достаточно интересных операций, на которых мы остановимся более подробно. В таблице 1 представлены некоторые из таких операций. Допустимые операнды должны иметь числовые типы. Например, использовать эти операции для работы с логическими типами нельзя, а для работы с типом char (символьный тип) можно, поскольку в JavaScript тип char - это подмножество типа int (целый).
| Операция | Результат |
|---|---|
| ++ | Инкремент (увеличивает значение переменной на 1) |
| -- | Декремент (уменьшает значение переменной на 1) |
| += | Сложение с присваиванием |
| -= | Вычитание с присваиванием |
| *= | Умножение с присваиванием |
| /= | Деление с присваиванием |
| % | Остаток от деления |
Использование операции инкремента разберем на следующем примере.
<HTML>
<HEAD>
<TITLE>Инкремент</TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!--
var A=1,B;
B = ++A;
C = A++;
alert ("B = "+B+", C = "+C+", A = "+A);
//-->
</SCRIPT>
</HEAD>
<BODY>
</BODY>
</HTML>
Результат работы скрипта приведен на рисунке 1.

Рис.1. Использование инкремента
Поясним полученный результат. В скрипте явно описаны две переменные A и B, причем переменной A при ее описании присвоено значение 1. В строке B=++A; сначала значение переменной A увеличивается на 1 и становится равным 2, а затем это значение присваивается переменной B. В строке C=A++; - наоборот: сначала значение переменной A присваивается переменной C (переменная C получает значение 2), а затем значение переменной A увеличивается на 1, то есть становится равным 3. Таким образом, переменные A, B и C получат значения, приведенные на рисунке 1.
Из сказанного можно сделать следующий вывод. Если символ операции инкремента находится перед именем переменной (префиксная форма), то сначала значение этой переменной увеличивается на 1, а затем это новое значение используется в выражении. Если символ операции инкремента находится после имени переменной (постфиксная форма), то сначала значение этой переменной участвует в вычислении значения выражения, а только потом значение этой переменной увеличивается на 1.
Измените приведенный текст скрипта, заменив строку C = A++; строкой C = ++A;. Просмотрите измененный документ в браузере
и объясните полученные результаты.
Разберем теперь работу операций с присваиванием.
В отличие от операций инкремента и декремента, которые изменяют значение переменной на единицу, операции с присваиванием используются для изменения значения переменной на любое число. Например, конструкцию X=X+2; можно записать так: X+=2;, конструкцию A=A*B; можно представить так: A*=B; и т.д. Таким образом, если в левой и правой части оператора присваивания располагается одна и та же переменная, то можно воспользоваться соответствующей операцией с присваиванием.
В заключение приведем пример скрипта, иллюстрирующего использование операций деления и нахождения остатка от деления.
<HTML>
<HEAD>
<TITLE>Деление и остаток от деления</TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!--
var A=13,B=4;
C = A % B;
D = A / B;
alert ("A = "+A+", B = "+B+", C = "+C+", D = "+D);
//-->
</SCRIPT>
</HEAD>
<BODY>
</BODY>
</HTML>
Результат работы скрипта приведен на рисунке 2.

Рис.2. Использование деления и нахождение остатка от деления
На следующем шаге мы рассмотрим операции сравнения и стороковые операции.