我正在尝试理解javascript中的一元运算符,我发现这里的指南http://wiki.answers.com/Q/What_are_unary_operators_in_javascript大部分都很有意义,但我不理解的是如何在实际的代码示例中使用以下示例:
+a;
-a;根据我的理解,+ a ;的意思是使变量为a的正值,-a的意思是使变量为a的负值。我尝试了许多示例,例如:
a = -10;
a = +a;
document.writeln(a);,但输出仍为-10;
我也尝试过:
a = false;
a = +a;
document.writeln(a);,输出为0;
这些一元运算符的实际代码示例是什么?
发布于 2012-08-25 17:35:43
+操作符不改变值的符号,而-操作符改变符号。这两个运算符的结果都取决于原始值的符号,无论原始符号如何,都不会使值为正或负值。
var a = 4;
a = -a; // -4
a = +a; // -4abs函数执行您认为+运算符执行的操作;它使值为正,而不考虑原始符号。
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发布于 2012-08-25 17:36:13
一个例子是,它们可以用于将字符串转换为数字,
var threeStr = '3.0'
var three = +threeStr
console.log(threeStr + 3) // '3.03'
console.log(three + 3) //6发布于 2012-08-25 17:49:08
我想从基本的数学角度来解释这一点:
乘法规则:
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是更好的例子)
https://stackoverflow.com/questions/12120802
复制相似问题