我想向我傳遞的變量添加一個數字並將其返回到原始函數。所以它應該記錄1,然後是2,而不是兩個1。如何將變量傳遞給函數並返回值?
function go(){
var num = 1;
console.log(num);
addNum(num);
console.log(num);
};
function addNum(num){
num = num + 1;
return num;
}
go();
我想向我傳遞的變量添加一個數字並將其返回到原始函數。所以它應該記錄1,然後是2,而不是兩個1。如何將變量傳遞給函數並返回值?
function go(){
var num = 1;
console.log(num);
addNum(num);
console.log(num);
};
function addNum(num){
num = num + 1;
return num;
}
go();
你需要得到的返回值,因爲你的變量是一個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/
NUM = addNum(NUM);應該這樣做
你必須返回值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();
Jus t使用返回值,即'num = addNum(num)' – bgusach