解释Flash AS2 setInterval函数
问题描述:
Plz帮助我理解这个简单的Flash AS2(Action Script 2.0)代码。在setInterval(function() {blah..},5*1000);
行function()
是指setinterval(the calling function)
本身或只是一个无名函数。解释Flash AS2 setInterval函数
function wait() {
stop();
var myInterval = setInterval(function() {
play();
clearInterval(myInterval);
}, 5*1000); // stop for 5 seconds
}
wait();
有人能说出上述代码的工作原理吗?
感谢 DK
答
的setInterval
方法只有一个延迟调用你的函数。
代码调用anonymously
在setInterval
方法的第一个参数的功能,但这种功能也被其称为是变量名完全相同的结果:
stop();
var myInterval = setInterval(myFunction, 5000);
function myFunction():Void {
play();
clearInterval(myInterval);
}
如果我们创建一个假的setInterval fonction像以下:
function myFunction():Void {
trace('myFunction plays');
}
function pseudoSetInterval(func:Function, delay:Number):Void {
this.onEnterFrame = function():Void {
if (getTimer() > delay) {
func();
delete this.onEnterFrame;
}
}
}
这两个调用是等效的:
var myInterval = pseudoSetInterval(myFunction, 5000);
var myInterval = pseudoSetInterval(function(){trace("a function plays");}, 5000);
setInterval方法只会延迟调用你的函数。下面的解释... – helloflash 2014-09-02 16:41:39