我试图在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;
这些一元运算符的实际代码示例是什么?
答案 0 :(得分:25)
+
运算符不会更改值的符号,-
运算符会更改符号。两个运算符的结果取决于原始值的符号,无论原始符号如何,运算符都不会使值为正或负。
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
答案 1 :(得分:3)
一个例子是它们可用于将字符串转换为数字
var threeStr = '3.0'
var three = +threeStr
console.log(threeStr + 3) // '3.03'
console.log(three + 3) //6
答案 2 :(得分:2)
我想从基本的数学观点解释这一点:
乘法规则:
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)=正*正=正= 0(也许使用true是一个更好的例子)
答案 3 :(得分:1)
a = 1
b = -a
console.log(b)
output
-1
答案 4 :(得分:0)
试试这个
false == 0 // returns true
所以,
a = false
a = +a //a * 1
console.log(a) // prints 0 as expected
答案 5 :(得分:0)
'+'运算符仅表示: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
答案 6 :(得分:-1)
+ a表示a * 1 和 -a表示a *( - 1)
多数民众赞成!!!!!!