Сумматорные операторы ECMAScript
- Предыдущая страница Множественные операторы
- Следующая страница Операторы отношения
В большинстве языков программирования оператор сложения (будь то плюс или минус) обычно является наиболее простым математическим оператором.
В ECMAScript у оператора сложения множество специальных поведения.
Оператор сложения
Оператор суммирования обозначается плюсом (+):
var iResult = 1 + 2
Как и у операторов умножения, у операции сложения в ECMAScript также есть некоторые особые поведения при обработке специальных значений:
- Если某个 операнд является NaN, результат равен NaN.
- -Infinity добавлено к -Infinity, результат равен -Infinity.
- Infinity добавлено к -Infinity, результат равен NaN.
- +0 плюс +0, результат равен +0.
- -0 плюс +0, результат равен +0.
- -0 плюс -0, результат равен -0.
Однако, если один из операндов является строкой, то применяются следующие правила:
- Если оба операнда являются строками, вторая строка добавляется к первой.
- Если только один операнд является строкой, другой операнд преобразуется в строку, результатом является соединение двух строк.
Например:
var result = 5 + 5; //два числа alert(result); //вывод "10" var result2 = 5 + "5"; //число и строка alert(result2); //вывод "55"
Этот код демонстрирует различия между двумя моделями оператора сложения. В нормальных условиях 5 + 5 равняется 10 (оригинальное значение), как показано в первых двух строках выше. Однако, если заменить один операнд на строку "5", результат станет "55" (оригинальное значение строки), потому что и другой операнд также будет преобразован в строку.
Внимание:Чтобы избежать распространенной ошибки в JavaScript, при использовании оператора сложения一定要 тщательно проверять тип данных операндов.
Оператор вычитания
Оператор вычитания (-) также является часто используемым оператором:
var iResult = 2 - 1;
Как и у оператора сложения, у оператора вычитания также есть некоторые особые поведения при обработке специальных значений:
- Если某个 операнд является NaN, результат равен NaN.
- Infinity минус Infinity, результат равен NaN.
- -Infinity минус -Infinity, результат равен NaN.
- Infinity минус -Infinity, результат равен Infinity.
- -Infinity минус Infinity, результат равен -Infinity.
- +0 минус +0, результат равен +0.
- -0 минус -0, результат равен -0.
- +0 минус -0, результат равен +0.
- Если某个 оператор не является числом, результат равен NaN.
Комментарий:Если все операнды являются числами, выполняется обычное вычитание и возвращается результат.
- Предыдущая страница Множественные операторы
- Следующая страница Операторы отношения