【发布时间】:2016-05-01 15:32:27
【问题描述】:
如果我想检查一个特定的 DOM 节点是否是一个锚元素,哪个选项会更安全、更快?
为了更安全,我希望看看 IE6-8 等旧浏览器更好地支持哪个。
我假设不会有太大的速度差异,但如果一个函数在遍历 DOM 树时执行此检查,它可能会节省几毫秒。
【问题讨论】:
-
从一开始就几乎支持这两种方法,即使在遍历 DOM 树时,最大的操作是查询/更改 DOM 节点,一旦你在内存中有一个 DOM 节点,这两种方法都会在性能方面保持±相同。
-
毫秒 => 微秒
-
您通常看到
element.tagName.toUpperCase() === "A"比instanceof 更频繁,不知道为什么,差异应该很小?我个人一般使用前者。 -
@RickHitchcock - 至少在所有当前的浏览器中肯定会,但确保不会有坏处,在这种情况下比较返回的字符串不敏感也很常见,因为它很容易做到.
-
@adeneo 我认为这是规范。
标签: javascript dom