标签 getElementsByTagName 下的文章

昨天,我在雅虎的同事 Scott Schiller (斯科特·席勒, 同时也是 SoundManager 创造者) 发 Twitter 询问为何 getElementsByTagName("a") 在所有浏览器上都比 querySelectorAll("a") 要快好多倍。 有一个 专门的 JSPerf 测试页面, 通过对比就能发现两者的速度差异相当明显。 比如作者在 Windows XP 下使用的 Firefox 3.6.8 浏览器, querySelectorAll("a")getElementsByTagName("a") 的运行速度要低98%. 我和 Scott, 以及 YUI 团队的 Ryan Grove 有一个活跃的 Twitter-sation, 关于这种现象的原因,以及情理之中让人沮丧的结果。 我想好好地解释说明下到底为什么会发生这种情况,以及为什么未来也可能不会改变。

••••••