2011-11-16 41 views
1

在Javascript中,可以將成員函數傳遞給函數setInterval()。希望這是有道理的,我會告訴你一個我想要做的代碼示例,因爲這樣更容易解釋。使用「Class」成員函數作爲setInterval()的參數

我想每10毫秒調用一下函數&能夠訪問&改變該函數中的類成員this.myArray()(每次函數被調用時)。

function myClass() 
{ 
    this.myArray = new Array() 
    setInterval(this.slideLoop, 10); 
} 

// THE WHOLE POINT OF ALL THIS IS SO I CAN ACCESS THE ARRAY this.myArray()  
// INSIDE THE FOLLOWING FUNCTION WHEN ITS CALLED FROM setInterval() EVERY 10ms 
myClass.prototype.slideLoop = function() 
{ 
    alert(this.myArray[0]); 
    this.myArray.slice(0,1); 
} 

回答

5

可以使用的東西封閉狀

function myClass() 
{ 
    this.myArray = new Array() 
    var that = this; 
    setInterval(function() { that.slideLoop() }, 10); 
} 

有關示例,請參見:http://jsfiddle.net/3gyXF/

(對於這個例子,我改變了超時1秒和slicesplice說明)

相關問題