2011-11-16 25 views
1

Javascriptでは、メンバ関数を関数setInterval()に渡すことができます。これが意味を成し遂げたいと思っています。私はこれを説明する方が簡単なので、私がしたいコード例を示します。"Class"メンバ関数をsetInterval()のパラメータとして使用する

&にアクセスするには、次の関数を&にアクセスして、その関数内のクラスメンバー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秒にタイムアウトを変更し、spliceからsliceを説明するために)

関連する問題