【发布时间】:2021-05-01 21:25:27
【问题描述】:
我试图了解添加事件时“addEventListener”的工作原理,它保存在哪里? DOM 树?还是某个记忆的地方?但是找不到答案,我见过的所有帖子都说“你不能”,因为它没有标准,每个浏览器都有不同的实现。
所以我试图跳过它,但有一个关于事件委托的问题。在许多帖子中,人们说事件委托可以节省内存,因为我们不必将事件侦听器附加到每个组件。但我想,我必须了解 addEventListener 是如何工作的,才能理解为什么事件委托可以节省内存。
那么,事件委托对内存有效的原因是什么?
【问题讨论】:
-
但真的吗?我见过很多 JS 问题,但是太多
addEventListeners 消耗太多内存从来都不是其中之一。我总是找到使用事件委托来简化代码逻辑的原因,而不是出于性能原因。 -
也不会影响速度超过内存使用?
-
@CertainPerformance 我也没有听说过,但人们在很多帖子中都说它可以节省内存,所以我只想知道它是如何工作的:/ 我无法区分它是如何节省内存和addEventListener 是如何工作的。
-
@OtherMe 不管怎样,事件发生了,必须进入目标阶段和气泡。速度有提升吗?我还没想好。
标签: javascript browser cross-browser addeventlistener event-delegation