$("#test");
var test = document.getElementById("test");
$(test);
这两种方法的性能区别在哪里?
$("#test");
var test = document.getElementById("test");
$(test);
这两种方法的性能区别在哪里?
性能区别在,jQuery先调用自己的方法,自己的方法再调用document.getElementById("test");
但是调用之前会有一堆判断,看是传入了class,标签名,还是什么东西,这堆判断必然会影响速度。
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
从jquery源码的角度分析:
1.$('#test')
进入jquery.fn.的执行上下文后
2.var test = document.getElementById("test");
$(test);
这里直接用原生方法获取dom赋值给test再用jquery包装,与上面相比省去了一些多余的查找匹配过程,故速度更快一点。但是用原生方法还是最快的