【发布时间】:2019-05-03 20:13:34
【问题描述】:
如果我输入代码return amount 和console.log(amount),它将是1250,但如果我输入return balance 和console.log(amount),它将是9250!为什么这么不一样,我不明白。能给我解释一下吗?
//Declare variable;
var balance = 10500; // a global variable
var amount = steal(balance, 1250); // a global variable
//Function;
function steal(balance, amount) {
if (amount < balance) {
balance = balance - amount;
}
return amount;
}
console.log(amount); // it will be 1250, cause parameter amount = 1250
如果是return balance,console.log(amount) = 9250
【问题讨论】:
-
您应该使用作用域变量,例如
let -
steal()的 返回 值被分配回amount变量:var amount = steal(balance, 1250);。这就是为什么结果会根据您从steal()返回的内容而有所不同。 -
你的函数应该
return balance而不是return amount -
所以你的问题是,如果你返回不同的值,为什么结果会不同?当然是;这就是回报的目的。我在这里错过了什么吗?
标签: javascript