相关疑难解决方法(0)

与原生DOM方法相比,为什么jQuery选择器功能如此之慢

我知道这个话题已经被多次辩论过,但是我正在寻找更加技术性和详细的洞察力来了解真正发生的事情.

我设计了一系列测试来比较jQuery最基本的选择器'#id'和'.class'与各种原生DOM方法的速度.

我希望找出结果是什么的确切原因.

以下是测试:http://jsperf.com/jqueryspeed

最值得注意的是,getElementById显然是最快的.为了比较,我添加了jQuery('#id')和jQuery.fn.init('#id')作为测试,两者之间的区别在于第一个确实实现了一个全新的jQuery对象,而第二个是只运行原型函数,因此更快.所以,这两者之间的区别是可以理解的.

然而,我不理解的主要区别是getElementById的速度和jQuery.fn.init的速度之间的巨大差距,它有一个简单的测试来以特定的方式处理简单的('#id')请求,回到对getElementById本身的调用.

那么,为什么例如在Chrome上,这种方法比原生方法慢8倍,尽管它基本上只是它的包装器?

它也比包装的getElementById $(document.getElementById('#id'))慢约3-4倍...

有什么想法吗?

javascript performance jquery dom getelementbyid

12
推荐指数
2
解决办法
8648
查看次数

标签 统计

dom ×1

getelementbyid ×1

javascript ×1

jquery ×1

performance ×1