以选择符为例,类似于这种 $(".class") 方式,在ie里面,肯定比$("#id") 低很多,而对于chrome和firefox,则因为提供了getElementsByClassName 接口,所以速度不会特别慢,不需要遍历所有元素查看class,所以考虑一个综合的方案,应优先使用id选择符。

测试方法:对于一次处理一个对象的函数,循环执行3000次,对于批量处理函数,一次处理3000个对象。

结果见下图,时间单位是毫秒:

jquery与原生js比较-LMLPHP

结果分析:大部分时候,原生js的确比JQ快,最快的是IE6中执行getElementsByName,竟然比JQ快了4000多倍。最小的也有1.3倍。

这里面有个例外,是html值读写,JQ都比原生js快,快的还不少。

最后不得不说一句,IE系列,你们实在是太慢了。等IE9来改变一切吧。

05-23 14:08