2013-09-05 2 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 ++' просто дает * old * значение '0' для' return'. –

Смежные вопросы