Шаг 7.
Основы JavaScript.
Арифметические операции

    На этом шаге мы рассмотрим некоторые арифметические операции.

    При составлении арифметических выражений мы не обойдемся без арифметических операций. Помимо известных вам операций сложения (+), вычитания (-), умножения (*) и деления (/) JavaScript унаследовал от языка программирования C++ ряд достаточно интересных операций, на которых мы остановимся более подробно. В таблице 1 представлены некоторые из таких операций. Допустимые операнды должны иметь числовые типы. Например, использовать эти операции для работы с логическими типами нельзя, а для работы с типом char (символьный тип) можно, поскольку в JavaScript тип char - это подмножество типа int (целый).

Таблица 1. Некоторые арифметические операции в JavaScript
Операция Результат
++ Инкремент (увеличивает значение переменной на 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. Использование деления и нахождение остатка от деления




  1. Опишите работу приведенного скрипта.
  2. Напишите скрипт, при выполнении которого переменной z будет присваиваться значение выражения: 5*y+3*(x-1).

    На следующем шаге мы рассмотрим операции сравнения и стороковые операции.




Предыдущий шаг Содержание Следующий шаг