在javascript中解释+ var和-var一元运算符
我试图了解JavaScript中的一元运算符,我发现这个指南在这里http://wiki.answers.com/Q/What_are_unary_operators_in_javascript大部分是有道理的,但我不明白的是如何使用下面的例子一个实际的代码示例:
+a; -a;
以我的理解+ a; 是为了使variables的正值和-a; 是为了使variablesa的负值。 我已经尝试了一些例子:
a = -10; a = +a; document.writeln(a);
而输出仍然是-10;
我也试过:
a = false; a = +a; document.writeln(a);
输出是0;
什么是这些一元运算符的实际代码示例?
+
运算符不会更改该值的符号,而-
运算符会更改该符号。 两个运营商的结果都取决于原始价值的符号,运营商无论原始符号如何都不会使其值为正值或负值。
var a = 4; a = -a; // -4 a = +a; // -4
abs
函数完成了你认为+
操作者所做的事情; 无论原始符号如何,都会使其值为正。
var a =-4; a = Math.abs(a); // 4
做+a
和做a * 1
几乎是一样的; 它将a
的值转换为数字,但在此之后它不会更改该值。
var a = "5"; a = +a; // 5
+
运算符有时用于将string转换为数字,但是您有parseInt
和parseFloat
函数用于以更具体的方式进行转换。
var a = "5"; a = parseInt(a, 10); //5
一个例子就是它们可以用来把一个string转换成一个数字,
var threeStr = '3.0' var three = +threeStr console.log(threeStr + 3) // '3.03' console.log(three + 3) //6
我想从基本的math观点来解释这一点:
乘法规则:
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);
假== 0,+ a = +(+ 0)=正数*正数=正数= 0(也许使用true是一个更好的例子)
a = 1 b = -a console.log(b) output -1
尝试这个
false == 0 // returns true
所以,
a = false a = +a //a * 1 console.log(a) // prints 0 as expected
variables“a”中的“+”运算符仅仅意味着:a
' – '运算符在一个variables'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
+ a表示a * 1,-a表示a *( – 1)
而已!!!!!!