Операторы в Javascript
Как мы уже разобрались с вами, в javascript есть такие слова, как alert(предупреждение) и promt(подсказка) вызывающие предупреждающие окна. Кроме того становится очевидным использование таких символов, как =, которые имеют не меньшее значение, чем слова в js, ибо он тоже вызывает определенные события.
1 |
balans = 500; |
В примере выше мы взяли литерал 500 и с помощью оператора присваиванья поместили его в переменную balans и этот знак = оператор присваиванья один из множества операторов в языке программирования javascrip, который вызывает события. Наша задача рассмотреть сегодня несколько подобных операторов, которые вы уже использовали в школе, институте или, где вы там обучались.
Арифметические операторы в javascript
- + оператор сложения
- — оператор вычитания
- * оператор умножения
- / оператор деления
Обычно мы используем эти переменные со знаком равенства =, давайте для наглядности сделаем несколько примеров и поговорим о них:
1 2 3 4 |
var a = 100; var b = 50; var result = a + b; alert(result); |
Мы создали две переменные со значениями числовых типов, а потом при помощи оператора сложения получили их сумму. Что происходит в третей строке нашего кода, мы оцениваем то, что происходит справа от знака = и присваиваем это значение переменной, которая находится слева от знака равно. Также, как мы указали оператор + можно указать любые другие операторы, тот же оператор умножения или деления.
Можно использовать несколько операторов одновременно, но у js, как и у других языков программирования есть свои приоритеты, давайте рассмотрим пример:
1 2 |
result = 5 + 5 * 10; alert(result); |
Если рассмотреть пример последовательно, сделав оператор сложения, а потом умножения, то выйдет 100, но в данном случае alert выводит нам 55. Все потому, что некоторые операторы рассматриваются, как более важные, чем другие, и таким оператором в данном примере есть оператор умножения. Если нам нужно, чтобы вначале выполнялся оператор сложения, а потом умножения, просто берем нужные части в скобки:
1 |
result = (5 + 5) * 10; |
Теперь у нас получится в результате число 100. Мы определили важность последовательности выполнения операторов, тем самим повлияв на результат.
В работе с языком javascript часто встречается запись, где переменная стоит по обе стороны от оператора =
1 |
score = score + 10; |
Помним, что мы смотрим на то, что с правой стороны, а потом применяем это к левой, первой вещью в этой строке мы обратим на значение переменной score, далее добавляем к нему 10 и результат сохраняем в эту же переменную. То есть если бы наша score была равна 100, то после выполнения она стала бы равна 110.
Эта идея, добавления значения в существующую переменную настолько распространена, что существует сокращенный вид записи:
1 |
score += 10; |
Это обозначает взять переменную score и добавить к ней числовое значение 10, здесь += записаны, как одно целое и между ними пробелов нет. Эта запись считается одним оператором и помимо её есть еще такие же сокращенные записи со знаком:
- +=
- -=
- *=
- /=
Еще можно довольно таки часто увидеть нечто похожее:
1 |
a = a + 1; |
или сокращенно:
1 |
a += 1; |
Помните знаки сложения, вычитания и т.д., ставятся перед символом =.
Одной из наиболее частых операций в JavaScript, как и во многих других языках программирования, является увеличение или уменьшение переменной на единицу. Для этого существуют даже специальные операторы:
Инкремент ++ увеличивает на 1:
1 2 3 |
var i = 2; i++; // более короткая запись для i = i + 1. alert(i); // 3 |
Декремент — уменьшает на 1:
1 2 3 |
var i = 2; i--; // более короткая запись для i = i - 1. alert(i); // 1 |
Как видите эти символы в языке программирования javascript имеют такую же важность, как и слова. Есть еще несколько операторов, с которыми мы познакомимся в следующих занятиях.
Спасибо за статью! Освежил в памяти свои знания по джаваскрипт. Еще кстати на собеседованиях часто спрашивают про разницу между операторами =, ==, ===.
Как мне кажется с выходов фреймворков и библиотек типа jQuery потребность в том, чтобы писать на голом javascript потихоньку уходит.