function factory() {
e.x = 0;
e.y = 0;
return e;
}
如何将这些对象传递给渲染函数?
例如:
function render() {
a[0].someMethod;
}
function init() {
for(i=0;i<10;i++) {
things[i] = factory();
}
setInterval(render(things),40);
}
答案 0 :(得分:5)
你需要在那里使用闭包:
setInterval(function(){
render(things);
},40);
setInterval
接受回调函数(名称不含()
的函数)但是当你这样做时:
setInterval(render(things), 40);
你实际上是在(things)
里面调用函数(因为setInterval
括号)这是错误的。
答案 1 :(得分:1)
setInterval(function() { render(things) },40);