Арифметические операторы в JavaScript
Оператор | Действие | Пример |
+ | Сложение | x+y |
- | Вычитание | x-y |
* | Умножение | x*y |
/ | Деление | x/y |
% | Деление по модулю (остаток от деления) | x%y |
++ | Инкремент (увеличение на 1) | x++ |
-- | Декремент (уменьшение на 1) | x-- |
С первыми четырьми оперторами, в целом, всё понятно. Оператор "%" возвращает остаток от деления:
alert (5%2); // 1, так как остаток от деления 5 на 2 равен 1
Инкремент и декремент работают следующим образом:
var x, y; //объявляем переменные x и y
x = 2, y = 1; //задаём значения переменным
alert (x++); //на экран выведется 3, так как x+1=2+1=3
alert (y--); //на экран выведется 0, так как y-1=1-1=0
В примере выше используется потфиксная форма записи. Существует, также, префиксная форма записи, знаки ставятся впереди:
var x, y; //объявляем переменные x и y
x = 2, y = 1; //задаём значения переменным
alert (++x); //на экран выведется 3
alert (--y); //на экран выведется 0
В чём разница между постфиксной и префиксной записью? Рассмотри 2 примера, а потом дадим комментарии:
var i; //объявляем переменную i
i = 2; //задаём значение для i
var x; //объявляем переменную x
x = i++;
alert x; //на экран выведется 2
var i; //объявляем переменную i
i = 2; //задаём значение для i
var x; //объявляем переменную x
x = ++i;
alert x; //на экран выведется 3
В случае использования постфиксной формы в выражении при записи результата в новую переменную, в неё запишется значение переменной, к которой была применена оперция инкремента/декремента, до применения данной операции. Если же форма префиксная, то в новую переменную, запишется значение исходной, увеличенной на 1.
Операторы инкремент и декремент применяются только к переменным!
Кстати говоря, знак "=", используемый в наших выражениях здесь, также, является бинарным оператором присваивания. Но об этом чуть позже.