在我目前正在研究的解决方案中,我最初是将事件侦听器绑定到同一容器中的许多目标。我想看看你们中是否有人在使用单个事件侦听器和利用事件目标以节省大量事件侦听器的开销时看到了显着的性能提升。
简而言之,当限制事件侦听器的数量时,JavaScript 是否有显着的性能提升。
在我目前正在研究的解决方案中,我最初是将事件侦听器绑定到同一容器中的许多目标。我想看看你们中是否有人在使用单个事件侦听器和利用事件目标以节省大量事件侦听器的开销时看到了显着的性能提升。
简而言之,当限制事件侦听器的数量时,JavaScript 是否有显着的性能提升。
在使用单个事件处理程序的事件传播和每个对象上的单独事件处理程序之间存在权衡。哪种权衡最适合您完全取决于您的个人情况。没有一个单一的答案对所有情况都是最好的。
在运行时,附加到每个对象的单个事件处理程序将运行得最快。由于它直接附加到感兴趣的对象,因此系统基本上不需要做任何工作来知道应该触发事件处理程序。
在安装/设置时,附加到父对象的单个事件处理程序的初始化将比在每个对象上初始化事件处理程序更快。
因此,您基本上在更快的设置时间和更快的执行时间之间进行了一个小的权衡。
最后,除非您有数千个对象,否则时间执行差异可能足够小以至于毫无意义。我建议选择生成最干净、最简单代码的选项。