2014-05-25 24 views
-1

讓我們來看看這裏http://jsfiddle.net/ynSmW/關於我++執行訂單在Javascript

i=0; 
s = 'aaa-'+(i++); 
s+= 'bbb-'+(i++); 
s+= 'ccc-'+(i++); 
s+= 'ddd-'+(i++); 
s+= 'eee-'+(i++); 
s+= 'fff-'+(i++); 
document.write(s); 

小提琴我期待得到:

aaa--1 
bbb-0 
... 

,但我得到了

aaa-0 
bbb-1 
... 

爲什麼?應該是(i ++)先執行,那麼輸出是i+1

+1

你爲什麼期望'-1'?你將「我」設置爲零,並且只是增加它。 – Mat

回答

3

我++首先檢索我,然後

+1

使用++ i預期結果 –

+0

爲什麼支架什麼都不做? –

+0

括號僅表示該操作符必須在指令鏈中首先執行,但操作員的行爲仍然保持不變。 – mpampana

2

i++是你的語句後執行遞增。 使用++i相反。

0

Here是解釋。總之,價值通過之前增加。