jQuery选择器性能差异

时间:2013-06-03 14:09:12

标签: jquery performance performance-testing

这两个选择器有什么区别?我可以使用第二个来优化我的脚本吗?

$('#'+idTest);  
jQuery(document.getElementById(idTest));  

根据我在http://jsperf.com/jquery-selector-speeds/4上的测试,第二个测试速度提高了3倍(比较1,026,651 [Ops/sec]和第二个3,778,351 [Ops/sec])。

2 个答案:

答案 0 :(得分:0)

第二个对我来说快了两倍(jsperf也有,删除功能)。

你可以使用两者,但第一个更具可读性。 如果你需要这种优化,你甚至不应该使用jQuery;)

答案 1 :(得分:0)

这一行

$('#'+idTest);

在内部使用document.getElementById来获取元素。

但是jQuery必须根据其规则解析字符串选择器'#'+idTest。这是开销来自。