AS3 setTimeOut,setInterval,Timer 的区别和用法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AS3 setTimeOut,setInterval,Timer 的区别和用法相关的知识,希望对你有一定的参考价值。
参考技术A 从使用次数的分别来说:setTimeout:一般只是一次使用。
setInterval:无限使用。
timer:可以限制次数。
但是如果有需要,三个类都可以达到彼此的功能,比如说,timer可以设置成一次使用,或者是无限次使用,但是从开发的简洁程度来说,不建议这样写。
从继承的角度来说:
setimeout和setinerval是不支持继承的,而timer具有良好的扩张性,像在很多游戏中的心跳机制都是用timer的功能来写的。所以在复杂功能的时候一般都是用timer。
应该还是有其它的区别。
最重要的是,这三个方法,使用之后都要回收。不然会引发一些乱七八糟的bug,比如说内存溢出等等。 参考技术B setTimeout 在指定时间结束后执行函数,只执行一次;
setInterva 按指定时间循环执行函数,是循环无限次;
Timer 按指定时间,指定次数,循环执行函数,循环的时间和次数都可控;
在as3中,提倡使用Timer代替前两者。
简单说一下使用方法:
setTimeout(函数名,1000);
setInterval(函数名,1000);
t: Timer = new Timer(1000, 5);
t.addEventListener(TimerEvent.TIMER,函数名);
t.addEventListener(TimerEvent.TIMER_COMPLETE, 函数名);
t.start(); 参考技术C settimeout 设置时间
设置时间间隔
时间(名词) 参考技术D 1 settime out ,只会执行一次,设定时间后,只会发生一次,
2 setinterval ,会无限循环,时间间隔设定以后
3 timmer ,有限次数的执行
我是石家庄海源劳保用品外贸部的雯笛,希望可以帮到你,
setTimeout与setInterval对比
这其实是一个小知识点:setTimeout是m毫秒执行一次后,就不执行;而setInterval是每隔m毫秒执行一次。其实他们是可以互相转换的,比如以下:
setTimeout实例:
var refresh=function(){ console.log(new Date()); setTimeout(‘refresh()‘,5000); }; refresh();
setInterval实例:
setInterval(function(){ console.log(new Date()); },5000)
这两个实现的功能是一样的。
清除setTimeout:clearTimeout();
清除setInterval:clearInterval();
微薄见解,请勿见笑。
以上是关于AS3 setTimeOut,setInterval,Timer 的区别和用法的主要内容,如果未能解决你的问题,请参考以下文章
as3 setInterval,setTimeOut,Timer及获取系统时间