抱歉这个糟糕的描述,但有一些课程:
Event.Ticker = Class.create();
Object.extend(Event.Tick.prototype,{ initialize:function(container,seconds){
...等等。
和此代码:
new Event.Ticker(“ID”,20);
所以计数器从20减少到0我怎么能在任何时候杀掉它?
答案 0 :(得分:1)
据推测,有一种方法可以调用
myEvent.Stop()
可能会调用clearInterval
或诸如此类的东西,但这取决于所暴露的界面。
JavaScript完全被垃圾收集,并且没有隐式(或显式)析构函数。如果需要,所有“清理”(例如Stop
)必须明确完成。
没有办法“删除”一个对象,只是为了让它变得无法访问,在这种情况下,GC可以回收(“销毁”)它,如果它感觉像 - 但setInterval
和{{ 1}}将保持对回调的强引用,1)将触发回调,即使回调和/或setTimeout
在其他地方不可强烈到达2)可能会阻止其他对象在可达到的情况下有资格进行回收通过回调。
快乐的编码。