在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转换为数字,但是您有parseIntparseFloat函数用于以更具体的方式进行转换。

 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)

而已!!!!!!