2011-12-30 28 views
0

爲什麼在Javascript中使用1 + + + 1 = 2需要幫助瞭解Javascript中的+運算符

這種行爲叫什麼?它是否記錄在某處?

謝謝。

+0

http://stackoverflow.com/questions/971312/why-avoid-increment-and-decrement-operators-in-javascript – 2011-12-30 01:14:56

+0

@Sudhir:有趣的是,雖然這裏沒有++。 – Thilo 2011-12-30 01:20:01

回答

6

這是因爲間距。單目運算符+可以作爲需要多次,所以你的表達變成:

1 + (+(+1)) 

也就是說,

1 + 1 

。通常情況下,看起來你不能這樣做,即1 + ++ 1將會失敗,但這是因爲兩個+被解析爲前綴增量,當不使用變量時它是無效的。以相同的方式,1 +++ 1失敗,因爲它被解析爲1++ + 1,並且您不能增加1

1

它解析爲...

1 + (+ (+ 1)) 

...這顯然求得兩個。