我有一些用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
语句,但没有任何效果。
完成我想要做的事情最聪明的方法是什么。
答案 0 :(得分:0)
如果在全局范围内创建变量,那么它是最高范围的属性(在浏览器中,为window
)。
你可以delete window.__tl
,但是你应该删除所有可能绑定到该对象的事件监听器。事件监听器经常被忽略,它们可能会保留对象的引用(取决于实现)。