我创建了一个非常方便处理时间间隔和作为动画帧使用的小对象,但它存在一个小问题。如果实例的引用丢失,时间间隔将继续运行。
function Interval(callback, interval){
var timer = null;
this.start = function(){
if(!timer) timer = setInterval(callback, interval);
};
this.stop = function(){
clearInterval(timer);
timer = null;
};
this.changeSpeed = function(a){
interval = a;
this.stop();
this.start();
}
this.destroy = function(){
delete this;
}
}
很明显,如果javascript没有破坏方法,我就无法跟踪何时停止间隔。因此,我认为我应该创建一个销毁方法,但我不确定是否可以从对象内部销毁实例。这是有道理的,但是……任何帮助将不胜感激!