我擺弄周圍有不同的東西,像這樣爲什麼「a + + b」有效,但「a ++ b」不能?
var a = 1, b = 2;
alert(a + - + - + - + - + - + - + - + b); //alerts -1
,我可以刪除空格,它仍然能工作。
a+-+-+-+-+-+-+-+b
然後我試圖
a + + b
它跑,評價3,但是當我刪除了空間,(a++b
),它不會運行,並且它有它讀「混亂加分的警告「。
我可以理解,在情況下,像
a+++++b
這可以解釋爲以下任何
(a++) + (++b)
(a++) + +(+b)
a + +(+(++b))
a + +(+(+(+b)))
,這將是混亂的。
但在
a++b
解釋這一點,據我可以告訴的唯一有效辦法的情況下,是
a + +b
爲什麼不a++b
工作?
我想它與++是有效的synax或++ b衝突。 – TheCodeKing
它也可以解釋爲(a ++)b或(++ b)... –
'++ b'也是有效的 – Andrew