This question is related but is not the same as javascript: get a function's variable's value within another function & How do i pass variables between functions in javascript
我想知道如何将变量从一个函数传递到另一个函数已经有一段时间了,答案可以在上面找到。但更大的问题是如何传递多个变量,感觉上面找到的答案的语法可能变得过于复杂,最终变得不可读。
不要介意我在示例中所做的添加和警报。 这是一个虚拟示例,如下所示。 下面的粗体段落清楚地说明了这个问题的目的。
这是我的问题,如何将多个变量从一个函数传递到另一个函数,例如:
function definingVars() {
var one = 1;
var two = 2;
var three = 3;
var four = 4;
var five = 5;
var six = 6;
var seven = 7;
var eight = 8;
var nine = 9;
var ten = 10;
}
function addingUp() {
definingVars();
alert("Alerting var total");
var total = one + two + three + four + five + six + seven + eight + nine;
alert(total);
alert("Alerting var ten");
alert(ten);
}
我知道这不是解决这个问题的正确方法。但我想在这里制作一个虚拟示例。
最佳答案
返回一个属性包含所需值的对象:
function definingVars() {
return {
one: 1, two: 2, three: 3, four: 4, five: 5,
six: 6, seven: 7, eight: 8, nine: 9, ten: 10
};
}
function addingUp() {
var data = definingVars();
return data.one + data.two + data.three + data.four + data.five
+ data.six + data.seven + data.eight + data.nine;
}
如果你想避免重复数据
,你可以使用with
,但请注意它很慢,不好的做法,并且在严格模式下不允许:
function addingUp() {
with(definingVars()) {
return one + two + three + four + five + six + seven + eight + nine;
}
}
关于javascript - 如何在函数之间传递多个变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33457125/