在Javascript中销毁事件生成器对象

时间:2014-07-28 07:49:27

标签: javascript

我有一些用JavaScript生成事件的对象。

我想在发生错误时丢弃带有事件的对象。

准确地说,错误是由于webSocket断开连接,一旦webSocket断开连接,事件就没有任何意义,所以我希望丢弃事件的对象。

        var __tl = someEventGenerator;
        __tl.onEvent(function(z)
          {
            try
            {
              // do some stuff
            }
            catch (e)
            {
              log('error');
              // if some error occured, stop event

              __tl = null;
            }
           }

我为对象属性等尝试了delete语句,但没有任何效果。

完成我想要做的事情最聪明的方法是什么。

1 个答案:

答案 0 :(得分:0)

如果在全局范围内创建变量,那么它是最高范围的属性(在浏览器中,为window)。

你可以delete window.__tl,但是你应该删除所有可能绑定到该对象的事件监听器。事件监听器经常被忽略,它们可能会保留对象的引用(取决于实现)。