saz*_*azr 1 javascript oop scope implicit
在Javascript中,可以将成员函数传递给函数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);
}
Run Code Online (Sandbox Code Playgroud)
你可以使用类似的闭包
function myClass()
{
this.myArray = new Array()
var that = this;
setInterval(function() { that.slideLoop() }, 10);
}
Run Code Online (Sandbox Code Playgroud)
有关示例,请参阅:http://jsfiddle.net/3gyXF/
(对于示例,我将超时更改为1并且将更改为sliceto splice来说明)
| 归档时间: |
|
| 查看次数: |
1588 次 |
| 最近记录: |