javascript - 如何在函数之间传递多个变量

标签 javascript

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/

相关文章:

javascript - 如何在 Ionic 应用程序的 Chrome 远程调试中隐藏内容(API key 等)?

javascript - 计算 JSON 数组中经纬度对的距离

javascript - 在 JavaScript 中是否可以定义负数的平方根?

javascript - 使用 Node.js 在服务器上呈现 HTML

javascript - 使用getuikit框架扩展第二列

javascript - 如何在 Javascript 中访问 JSON 对象?

javascript - 如何在 JavaScript 中隐藏某个类

javascript - Rx.Observable.prototype.skip 未定义

javascript - 我如何通过 JavaScript 或 JQuery 或...验证所有选择框都有一个选定的选项?

javascript - 使 CSS 大小适应特定的移动屏幕