Javascript 按id检索DOM元素的成本高吗?

Javascript 按id检索DOM元素的成本高吗?,javascript,Javascript,据说DOM遍历成本很高,所以您应该尽可能避免它。 然而,我认为,按id检索DOM元素的成本必须非常低,因为大多数浏览器可能有一个表,可以在内部将元素与id关联。 所以,我们几乎总是可以忽略此操作的性能成本。 这是错的吗 谢谢。Chrome和Firefox似乎为ID创建了一个映射,但至少从ie8开始,Explorer似乎仍然存在性能问题。Mike Blandford进行了一些基准测试,这至少意味着IE没有使用数组映射,因此其性能受到了严重影响: 引述: 以下是结果(对于包含10000个元素的页面

据说DOM遍历成本很高,所以您应该尽可能避免它。 然而,我认为,按id检索DOM元素的成本必须非常低,因为大多数浏览器可能有一个表,可以在内部将元素与id关联。 所以,我们几乎总是可以忽略此操作的性能成本。 这是错的吗


谢谢。

Chrome和Firefox似乎为ID创建了一个映射,但至少从ie8开始,Explorer似乎仍然存在性能问题。Mike Blandford进行了一些基准测试,这至少意味着IE没有使用数组映射,因此其性能受到了严重影响:

引述:

以下是结果(对于包含10000个元素的页面):

IE8 getElementById:0.4844毫秒IE8 id数组查找:0.0062毫秒

Chrome getElementById:0.0039毫秒Chrome id数组查找:0.0006毫秒


他接着说FF和chrome非常相似。诚然,在大多数情况下,.5ms几乎不需要担心,但对于大型树和频繁调用,它可能会成为一个问题(一些人指出,您可以使用JS为基于ID的元素创建缓存系统,这将显著提高某些浏览器的性能)。

我建议您创建一个测试用例,然后自己去测试一下?