这是我想要做的一个过于简化的例子。目前我有这样的事情:
function foo(arg1, arg2) {
var obj ={
render:[arg1]
};
obj.render.forEach(function(theArg) {
console.log(theArg)
});
}
foo('one','two');
//Displays 'one'
我希望能够修改' obj'外部并添加' arg2' (或函数foo中的其他变量)到obj.render数组。所以像这样:
var obj ={
render:[arg1]
};
function foo(arg1, arg2) {
obj.render.forEach(function(theArg) {
console.log(theArg)
});
}
function setup() {
obj.render.push(arg2);
}
setup();
foo('one','two');
//Need to display 'one' and 'two' in console
setup函数表示可能存在或不存在的其他脚本,并且需要修改对象< obj'。不幸的是,arg1和arg2在这个实例中不在范围内,所以这段代码不会运行。我有什么想法可以做到这一点吗?
答案 0 :(得分:0)
更改您的功能签名以包含obj
function foo(arg1, arg2)
到
function foo(obj)
然后在你的函数循环中通过render
属性,就像你已经一样。
obj.render.forEach(function(theArg)
答案 1 :(得分:0)
全局声明您的变量obj
。
然后,让你的函数也有obj
传递的参数。
执行内部函数obj
所需的操作。