Javascript 提高jQuery性能的一些快速技巧是什么?
提高jQuery性能的一些快速技巧是什么?参考文件以加快加载速度。Paul Irish最近在2009年jQuery会议上做了一个性能演示。这些幻灯片是我见过的最全面的幻灯片之一Javascript 提高jQuery性能的一些快速技巧是什么?,javascript,jquery,performance,Javascript,Jquery,Performance,提高jQuery性能的一些快速技巧是什么?参考文件以加快加载速度。Paul Irish最近在2009年jQuery会议上做了一个性能演示。这些幻灯片是我见过的最全面的幻灯片之一 而不是做: $("#foo").addClass('test'); $("#foo").removeClass("bar"); $("#foo").slideUp('slow'); 你可以做: $("#foo").addClass('test').removeClass('bar').slideUp('slow');
而不是做:
$("#foo").addClass('test');
$("#foo").removeClass("bar");
$("#foo").slideUp('slow');
你可以做:
$("#foo").addClass('test').removeClass('bar').slideUp('slow');
提高jQuery的速度实际上是不可能的,这取决于代码的效率、浏览器的JS解释器的效率以及运行代码的计算机的速度。您也许可以尝试重写jQuery以提高效率,但这需要时间,而且很可能已经进行了优化。确保效率的最佳方法之一是确保*选择器尽可能针对元素/类等 *$(选择器)
find
函数查找该元素子元素范围内的元素。只有在对公共祖先执行某些操作时,这才是真正的最佳选择;否则,查找祖先和缓存祖先的开销可能会超过作用域遍历的好处$。each()
,将用于(;;)
。速度快了十倍多它总是适用于普通javascript:总是缓存,缓存,缓存 e、 g:
知道何时使用普通JavaScript而不是JQuery方法。 jQuery是对JS+DOM的补充,而不是它的完全替代品。您不必对编写的每一行代码都使用jQuery。没有它,有些东西表达得更简洁;没有它,很多事情都会更快。了解DOM提供了什么,这样你就不会写一些我在这里看到的更愚蠢的例子 例如: 更快、更易于阅读,不会在ID中出现意外字符:
var ix= document.getElementById(selectname).selectedIndex;
我想你是在要求代码优化,但由于性能在很大程度上取决于所使用的JavaScript引擎,我想提一下。购买一台新电脑是显而易见的方式:-)我想你可以通过搜索找到这个问题的多个重复项。在你的电脑侧面放上竞速条纹,这总是有帮助的。然后把它涂成红色!红色的最快!这真的提高了性能吗?这太糟糕了。或者,如果你不能一次完成这一切,就把$(“#foo”)放在一个变量中,然后使用它,而不是每次都重新创建$(“#foo”)。@jpartogi:jQuery在你每次将选择器传递到$()时都会创建一个新对象,但因为它的方法返回
this
你可以像那样堆叠它们。这里的诀窍是不要为同一个选择器创建三个不同的对象。如果你在速度上看到了巨大的提高,这是正确的。然而,有一些简单的技巧确实有助于更好的执行,即使它只有100毫秒左右。这不是jQuery的真正性能,不是吗?如果您在内部网上开发(用户在同一大楼中),这将不适用。将其存储在您自己的服务器上可以节省他们访问internet的时间。@Nathan在intranet上,这将是存储在代理上的一种方式,因此也可以为他们节省一次访问时间,但请接受您的观点,有些地方不会有代理这应该是公认的答案+1您能给出for(;)的一个例子吗?这里是jQuery文档[]中$.each()的一个例子的基于for(;)的版本:for(var i=0;ivar ix= $('#'+selectname).children().index($('#'+selectname+' option:selected'));
var ix= document.getElementById(selectname).selectedIndex;