缩小document.getElementsByClassName的范围是否有切实的性能优势

Is there a tangible performance benefit to narrowing the scope of document.getElementsByClassName?

本文关键字:性能 是否 document getElementsByClassName 范围 范围是 缩小      更新时间:2023-09-26

我有一个大量使用文档搜索的web应用程序,我想知道将document.getElementsByClassName转换为更窄的搜索(如$container.getElementsByClassName)是否有性能优势?

我知道不会有明显的优势,但我想知道是否有任何实际的好处。

需要注意的是,我没有使用任何库或依赖项,所以一切都是原生的js。

我也知道它会根据DOM节点的数量和许多其他因素而变化。让我们假设一个普通的web应用程序。

谢谢!

如果您一次又一次地引用同一个类元素,那么缓存容器将有利于提高性能。如果您只需要与该类交互一次,那么我不会说会有任何真正的性能优势。

根据我的经验,确实存在,尤其是在大页面上。

缩小范围的另一个好处是提高可读性。这与"全局变量与局部变量"基本相同。