2012-04-15 46 views
1

我想知道为什么在运行第三行代码后a的结果是5?javascript中+ =和= +的区别

a = 10; 
b = 5; 
a =+ b; 
+0

正确的语法是+ = B; A = + B;是不正确的。它只是将b值赋给a。 – Anil 2012-04-15 09:42:16

回答

16

尴尬格式:

a =+ b; 

等同于:

a = +b; 

而且+b是铸造b到数字,喜欢这里的只是一种奇特的方式:

var str = "123"; 
var num = +str; 

你可能想:

a += b; 

等同于:

a = a + b; 
+0

...而a + = b是a = a + b的快捷方式,这可能是你想要的 – gotofritz 2012-04-15 09:22:35

+1

@fritzfromlondon:谢谢你指出,我允许自己将你的评论添加到答案中,以便更好地脱颖而出 – 2012-04-15 09:30:32

+1

'a = + b;'中的'+'被称为*一元'+'运算符*:http://es5.github.com/#x11.4.6 – 2012-04-15 10:31:01

相关问题