2012-04-15 45 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

相關問題