原生js和jQuery的DOM操作函数速度比较
大家都知道jQuery(JQ)是基于js的代码封装,性能肯定不如原生js好,尤其是DOM操纵部分性能差异明显。今天要研究的就是原生js和jQuery的DOM操作函数在主流浏览器中的性能差异究竟是多少,是否真的差距明显。
测试平台:E5400+2G DDR2+Windows 7 SP1 32bit
参与测试的浏览器有:
- FireFox: 3.6.3
- IE6
- IE8
- Chrome: 10.0.648
- Safari: 5.0.1
- Opera: 10.01
测试方法:对于一次处理一个对象的函数,循环执行3000次,对于批量处理函数,一次处理3000个对象。
结果见下图,时间单位是毫秒:
结果分析:大部分时候,原生js的确比JQ快,最快的是IE6中执行getElementsByName,竟然比JQ快了4000多倍。最小的也有1.3倍。
这里面有个例外,是html值读写,JQ都比原生js快,快的还不少。
最后不得不说一句,IE系列,你们实在是太慢了。等IE9来改变一切吧。