2013-09-05 92 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 *值。 –