2013-09-05 85 views
0

在這個函數中,我期待返回值是變量值的增量。但是,我得到的原始值,需要javascript函數返回說明

這裏是我的功能:

var num = function(){ 
    var a = 0; 
    return a++; 
} 

alert(num()); //it giving the result as 0 instead of 1...why? 

任何人都可以請這給我解釋一下?

+0

我同意,但作爲第一次我應該得到的價值。看起來很棒的答案。 – 3gwebtrain

回答

1

嘗試

var num = function(){ 
    var a = 0; 
    return ++a; 
} 

++中給出了值操作之後++給出了值,然後做了手術

4

的 '迴歸' 後的行爲++:

return a++ ==>返回a,然後加1到a

return ++a ==>加1到a,然後返回

看看this answer

+2

'return'實際上是最後的兩個。 'a ++'只是給'return'的'old'的* old *值。 –