Javascript 检查HtmlanchoreElement的标记名或实例是否更好
如果我想检查某个特定的DOM节点是否是锚元素,那么哪个选项更安全、更快 通过更安全的方式,我想看看像IE6-8这样的老浏览器更支持哪一种Javascript 检查HtmlanchoreElement的标记名或实例是否更好,javascript,dom,Javascript,Dom,如果我想检查某个特定的DOM节点是否是锚元素,那么哪个选项更安全、更快 通过更安全的方式,我想看看像IE6-8这样的老浏览器更支持哪一种 我假设不会有太大的速度差异,但如果函数在遍历DOM树时执行此检查,可能会节省几毫秒 使用javascript,在99%的情况下,proc资源不是优先级。 如果必须检查标记名,最好使用显式公开的标记名 对我来说,instanceof要长得多,因为你必须检查原型的类型,tagName是一个已经设置好的属性。从一开始,这两个属性就得到了很大的支持,即使在遍历DOM树
我假设不会有太大的速度差异,但如果函数在遍历DOM树时执行此检查,可能会节省几毫秒 使用javascript,在99%的情况下,proc资源不是优先级。 如果必须检查标记名,最好使用显式公开的标记名
对我来说,instanceof要长得多,因为你必须检查原型的类型,tagName是一个已经设置好的属性。从一开始,这两个属性就得到了很大的支持,即使在遍历DOM树时,大的操作是查询/更改DOM节点,一旦内存中有了DOM节点,这两种方法在性能上都是±相同的。毫秒=>微秒您通常看到的
元素.tagName.toUpperCase()==“A”
比instanceof更频繁,不知道为什么,差异应该很小?我个人通常使用前者。@RickHitchcock-至少在所有当前浏览器中都会这样,但要确保这一点并没有什么坏处,在这种情况下比较返回的字符串不敏感也是很常见的,因为这样做很容易。@adeneo我想这就是规范。你说的“99%的情况下proc资源不是优先级”是什么意思?