jQuery 优化

4
我刚刚完成了一个大型开发项目。由于时间紧迫,很多优化工作被“推迟”了。现在我们已经满足了截止日期,我们正在回头尝试优化这些事情。
我的问题是:在优化jQuery网站时,您最关注的一些重要因素是什么?或者,我想听听有关优化jQuery的建议的站点/列表。
我已经阅读了一些文章,http://www.tvidesign.co.uk/blog/improve-your-jquery-25-excellent-tips.aspx 是一篇特别好的文章。

2
+1 给“25个优秀技巧”网站。 - ram
确切的重复:https://dev59.com/73I-5IYBdhLWcg3w-9oJ - Gordon Gustafson
我发现最好的优化方式是遵循id > 元素名称 > 类名选择器的优先级。如果可能的话,尽量使用id,否则使用元素名称,再否则使用类名。#my_id比div.my_class更好,div.my_class比.myclass更好。 - aepheus
1
@CrazyJugglerDrummer 有点傻的问题,但你是怎么这么快找到那些东西的?我搜索了一下jQuery优化,但前几页都没有找到什么好的。 - aepheus
1
@aepheus 对于这个问题,我搜索了 jQuery 优化并按投票排序,认为这将是一个足够受欢迎的话题,不会被埋得太深(最终成为第七个问题)。有时查看同义词(例如性能)也可以帮助。 :D - Gordon Gustafson
请为CrazyJugglerDrummer的好建议点赞。 - aepheus
2个回答

2
@aepheus,这是另一个相关参考网站:www.artzstudio.com/2009。请查看第8条关于消除查询浪费的内容。希望对你有所帮助。

1

大多数时候我会关注那些重复出现的选择器... 这些选择器通常可以保存到一个变量中并反复使用,例如:

$('.some_class').doSomthing();
$('.some_class').doSomethingElse();

可以转换为:

selectedItems = $('.some_class');
selectedItems.doSomething(); selectedItems.doSomethingElse();

这样选择器只会遍历 DOM 一次... 然后你就可以继续使用变量作为 jquery 对象,因为每个 jquery 方法都返回 jquery 对象。

这只是众多提示中的一个...


1
或者变成 $('.some_class').doSomething().doSomethingElse()。一开始可能会感觉有些奇怪,但这是一个非常有用的功能。 - Felix
1
是的,当然你是对的 - 但它并不总是适用于每种情况... 大多数情况下它可以,但在某些边缘情况下,你可能需要单独的操作。 - Ken
虽然这样做可以显著减少开销(只需进行一次选择器调用而不是两次),但我猜在许多情况下改为使用 $('td.some_class')会比链接更有优势。 - aepheus
当然,我的两分钱是关于在选择两次上节省,而不是优化选择器本身;这是一个独立的主题(在其他提供的链接中深入讨论)。 - Ken

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接