javascript – 我应该总是删除EventListener吗?

前端之家收集整理的这篇文章主要介绍了javascript – 我应该总是删除EventListener吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
假设我向窗口添加一个load事件,如下所示:
window.addEventListener("load",initialize);

我应该在事件被触发后从窗口中删除load事件监听器吗?它只发射一次,但在发生这种情况后会继续听吗?

这很简单:

function initialize(event_){
    /* Just by adding this line. */
    window.removeEventListener("load",initialize);
}

但这是否过度或者实际上是否有利于我的计划的表现?我只是问,因为“加载”事件只触发一次,所以如果它只是解决了它就会有意义.我从来没有听说过一个自我解决的倾听者,但是……有什么想法吗?

编辑:另外,我并不特别关注“加载”事件,只是监听器继续监听只触发一次的事件的一般情况.

解决方法

Should I then remove the load event listener from the window after the event is fired?

我从来没有见过这样做,所以我认为没有真正需要它.

It only fires once,but will it continue to listen after that happens?

它只被DOM解雇一次,是的.但是它会继续监听,你可以轻松地手动触发加载事件(例如,参见MDN).

But is that overkill or will that actually benefit the performance of my program?

通常它是过度杀伤,因为这不会产生巨大的差异.当然,它可能会在初始化时触发垃圾收集,这可以节省一些内存(或更多,取决于您的代码结构),并通过将其提供给应用程序的其余部分来提高性能.

猜你在找的JavaScript相关文章