Объяснить + var и -var унарный оператор в javascript
Я пытаюсь понять унарные операторы в javascript, я нашел это руководство здесь http://wiki.answers.com/Q/What_are_unary_operators_in_javascript, большинство из них имеет смысл, но то, что я делаю "Не понимаю, как следующие примеры будут использоваться в фактическом примере кода:
+a;
-a;
По моему мнению, + a; предназначен для того, чтобы сделать переменную положительным значением a и -a;, чтобы сделать переменную отрицательным значением а. Я пробовал несколько примеров, например:
a = -10;
a = +a;
document.writeln(a);
И выход по-прежнему -10;
Я также пробовал:
a = false;
a = +a;
document.writeln(a);
И вывод равен 0;
Каков практический пример кода этих унарных операторов?
Ответы
Ответ 1
Оператор +
не меняет знак значения, а оператор -
меняет знак. Результат обоих операторов зависит от знака исходного значения, ни один оператор не делает значение положительным или отрицательным независимо от исходного знака.
var a = 4;
a = -a; // -4
a = +a; // -4
Функция abs
делает то, что, по вашему мнению, делает +
opreator; он делает значение положительным независимо от исходного знака.
var a =-4;
a = Math.abs(a); // 4
Выполнение +a
практически такое же, как при выполнении a * 1
; он преобразует значение в a
в число, если это необходимо, но после этого оно не меняет значение.
var a = "5";
a = +a; // 5
Оператор +
используется иногда для преобразования строки в числа, но у вас есть функции parseInt
и parseFloat
для выполнения преобразования более определенным образом.
var a = "5";
a = parseInt(a, 10); //5
Ответ 2
Одним из примеров является то, что они могут использоваться для преобразования строки в число,
var threeStr = '3.0'
var three = +threeStr
console.log(threeStr + 3) // '3.03'
console.log(three + 3) //6
Ответ 3
Я хотел бы объяснить это из основной математической точки:
Правила умножения:
Positive x Positive = Positive: 3 x 2 = 6
Negative x Negative = Positive: (-2) x (-8) = 16
Negative x Positive = Negative: (-3) x 4 = -12
Positive x Negative = Negative: 3 x (-4) = -12
Учитывая пример:
a = -10;
a = +a
document.writeln(a);
+ a = + (- 10) = Положительный x Отрицательный = Отрицательный = -10
a = false;
a = +a;
document.writeln(a);
false == 0, + a = + (+ 0) = Positive * Positive = Positive = 0 (возможно, лучше использовать пример true)
Ответ 4
a = 1
b = -a
console.log(b)
output
-1
Ответ 5
Попробуйте это
false == 0 // returns true
Итак,
a = false
a = +a //a * 1
console.log(a) // prints 0 as expected
Ответ 6
Оператор '+' в переменной "a" просто означает: a
Оператор '-' в переменной "a" просто означает: -a
Since, in above example
a=-10;
a= +a; // means a, ie, +(-10) which is -10
but,
a= -a; // means -a, ie, -(-10) which is +10
Ответ 7
+ a означает a * 1
а также
-a означает a * (- 1)
Вот оно!!!!!!