【发布时间】:2013-09-25 02:59:35
【问题描述】:
var x = 0;
var f = function(arg1, arg2) {
arg1 += 5;
arg2 += 7;
// return ?;
};
fill(255, 0, 0);
text(f(x, x), 200, 200);
如您所见,我只能返回一个变量,但考虑到我正在处理多个变量,我不想使用 return。问题是:我想要一个通用且独立的函数,所以我真的不想在函数范围之外声明全局变量(在本例中为 arg1 和 arg2)。
有什么方法可以将值传递给函数并在不返回且不声明全局变量的情况下进行更改?
非常感谢。
【问题讨论】:
-
你可以返回一个数组或一个对象。
-
return { result1: arg1+5, result2: arg2+7 }; -
从技术上讲,您可以使用闭包“通过引用传递参数”,但这并不比全局变量更好。
-
传递一个对象或数组并在函数中修改。
标签: javascript function scope arguments