2014-02-06 126 views

回答

3

你需要得到的返回值,因爲你的變量是一個int,並且是按值傳遞。當您按值向某個函數傳遞變量時,一旦離開函數作用域,對num的更改結果將不會更改。

function go(){ 
    var num = 1; 
    console.log(num); 

    // Need to store the return value of `addNum` for the result to persist. 
    num = addNum(num); 
    console.log(num); 
}; 

function addNum(num){ 
    num = num + 1; 
    return num; 
} 

go(); 

同樣在這裏是一個的jsfiddle與上面的變化:http://jsfiddle.net/LCF4M/1/

3

NUM = addNum(NUM);應該這樣做

2

你必須返回值assigne給變量

紹爾回答:

num = addNum(num); 

完整的答案:

function go(){ 
    var num =1; 
    console.log(num); 
    num = addNum(num); 
    console.log(num); 
}; 

function addNum(num){ 
    num = num + 1; 
    return num; 
} 
go(); 

使用全局變量(不推薦)答案:

function go(){ 
    num = 1; // omit var keyword to define global variable 
    console.log(num); 
    addNum(); 
    console.log(num); 
}; 

function addNum(){ 
    num = num + 1; 
} 
go(); 
相關問題