
5.Арифметические операторы
Арифметические операторы JavaScript подразделяются на унарные – выполняющиеся над одним операндом, и бинарные – имеющие два операнда и сохраняющие результат в третью переменную.
Унарный оператор извлекает значение переменной, осуществляет необходимые действия и сохраняет результат в ту же переменную.
К арифметическим операторам JavaScript относят:
Сложение (+) .
Вычитание (-).
Умножение (*).
Деление (/).
Остаток от деления (%).
Инкремент, или увеличение на единицу (++).
Декремент, или уменьшение на единицу (--).
Действия с арифметическими операторами просты и не требуют дополнительного пояснения.
Отдельно отметим оператор сложения строк (конкатенация) – объединения двух строк в одну:
var s1 = "string1", s2="string2";
s3 = s1+s2;
В этом случае в переменная s3 примет значение "string1string2".
Символ '=' является оператором присваивания, т.е. запись вида x=4, присвоит переменной x новое значение, равное 4.
Можно единовременно присваивать одно значение нескольким переменным: x=z=4.
Помимо обычного присваивания существует оператор сложного присваивания, т.е. осуществление присваивания совместно с другой операцией (например, со сложением: x +=4).
6.Операторы сравнения
Операндами операторов сравнения могут быть численные и строковые значения:
Таблица 11.2. |
|
Оператор |
Описание |
Равно (==) |
Если два операнда не одного типа, javascript преобразовывает типы и сравнивает строго. Если какой-либо операнд - число или булево значение, то операнды преобразуются в числа; если какой-либо операнд строка - второй преобразуются в строку |
Не равно (!=) |
Возвращает true, если операнды не равны. Если операнды имеют разный тип, javascript преобразовывает. |
Строго равно (===) |
Возвращает true, если операнды строго равны (см. выше), без преобразования типов. |
Строго не равно (!==) |
Возвращает true, если операнды не являются строго равными (см. выше) или имеют разные типы. |
Больше (>) |
Возвращает true, если левый операнд больше правого. |
Больше или равно (>=) |
Возвращает true, если левый операнд больше правого или равен ему. |
Меньше (<) |
Возвращает true, если левый операнд меньше правого. |
Меньше или равно (<=) |
Возвращает true, если левый операнд меньше правого или равен ему. |
Особенности сравнения операндов:
Стандартные операторы равенства (== и !=) сравнивают два операнда безотносительно их типа. Строгое равенство (=== и !==) производит сравнения операндов одинакового типа.
При сравнении числа и строки, строка преобразуется в числовое значение.
Если один из операндов - булевый, то он преобразуется к 1, если он true и к +0, если он false
Если объект сравнивается с числом или строкой, JavaScript пытается получить соответствующее значение для объекта. Он преобразует объект к элементарному значению, строке или числу, используя методы valueOf и toString. Если преобразовать объект не удается - генерируется ошибка выполнения.