2011-11-16 46 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说明)

相关问题