Javascript 如何将对象传递到setinterval中?
例如,假设我使用工厂创建一组对象:Javascript 如何将对象传递到setinterval中?,javascript,html,setinterval,game-engine,Javascript,Html,Setinterval,Game Engine,例如,假设我使用工厂创建一组对象: 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
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);
}
function render(){
a[0].someMethod;
}
函数init(){
对于(i=0;i您需要在此处使用闭包:
setInterval(function(){
render(things);
},40);
setInterval
接受回调函数(函数名不带()
),但当您这样做时:
setInterval(render(things), 40);
实际上,您正在调用函数(因为(things)
括号)就在setInterval
中,这是错误的。您需要在那里使用闭包:
setInterval(function(){
render(things);
},40);
setInterval(function() { render(things) },40);
setInterval
接受回调函数(函数名不带()
),但当您这样做时:
setInterval(render(things), 40);
实际上,您正在调用函数(因为(things)
括号)就在setInterval
中,这是错误的
setInterval(function() { render(things) },40);