Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将对象传递到setinterval中?_Javascript_Html_Setinterval_Game Engine - Fatal编程技术网

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);