已关闭,此问题为opinion-based。目前不接受答复。
**想改善这个问题吗?**更新问题,以便editing this post可以用事实和引用来回答。
9年前关闭。
Improve this question
有什么快速的技巧来提高jQuery的性能?
已关闭,此问题为opinion-based。目前不接受答复。
**想改善这个问题吗?**更新问题,以便editing this post可以用事实和引用来回答。
9年前关闭。
Improve this question
有什么快速的技巧来提高jQuery的性能?
9条答案
按热度按时间mbyulnm01#
1.首选简单选择,首先只按ID,其次只按标签名称。通过类名或CSS选择器进行选择需要jQuery遍历DOM,而ID和标记Map到“原生”浏览器DOM函数(getElementById和getElementByTagName)。
1.缓存尽可能多的jQuery对象。
1.将操作范围扩展到根jQuery对象。选择一个共同的祖先元素,并使用
find
函数查找该元素子元素范围内的元素,而不是单独选择元素。这实际上只有在对公共祖先执行某些操作时才是最优的;否则,查找祖先并对其进行缓存的开销可能超过范围遍历的益处。1.**不要使用
$.each()
,**使用for(;;)
。它的速度快了十倍以上。vnjpjtjt2#
Paul Irish最近在jQuery Conference 2009上做了一个关于性能的演讲。这些幻灯片是我见过的最全面的幻灯片之一。
http://paulirish.com/perf/
http://www.slideshare.net/paul.irish/perfcompression
41ik7eoe3#
引用google's CDN上的文件,以便它们加载得更快。
tyu7yeag4#
而不是做:
您可以:
uoifb46i5#
它总是适用于普通JavaScript:alwayscache,cache,cachee.例如:
mwg9r5ms6#
提高jQuery的速度是不可能的,这取决于你的代码有多高效,浏览器的JS解释器有多高效,以及运行代码的计算机有多快。你也许可以尝试重写jQuery以使其更高效,但这需要时间,而且它很可能已经非常优化了。
wi3ka0sx7#
确保效率的最好方法之一是确保 * 选择器尽可能具体地针对元素/类等。
v9tzhpje8#
我认为您要求的是代码优化,但由于性能高度依赖于所使用的JavaScript引擎,我想提一下Google Chrome Frame。
b91juud39#
知道何时使用纯JavaScript而不是JQuery方法。
jQuery是对JS+DOM的补充,而不是完全替代它。你不必为你写的每一行代码都使用jQuery。有些东西没有它表达得更简洁;很多事情没有它会更快。了解DOM提供了什么,这样您就不会写出我在这里看到的一些愚蠢的例子了。
例如:
更快,更易于阅读,不会因ID中的意外字符而中断: