2012-02-17 83 views
0

例如,說我使用一個工廠來創建一組對象:如何將對象傳遞給setinterval?

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

回答

5

你需要有使用封閉:

setInterval(function(){ 
    render(things); 
},40); 

setInterval接受回調功能(功能與名稱不()),但是當你這樣做:

setInterval(render(things), 40); 

Yo你實際上是調用函數(因爲(things)括號)那裏裏面setInterval這是錯誤的。

1
setInterval(function() { render(things) },40);