千家信息网

怎么优化jQuery性能

发表于:2025-11-10 作者:千家信息网编辑
千家信息网最后更新 2025年11月10日,这篇文章主要介绍"怎么优化jQuery性能",在日常操作中,相信很多人在怎么优化jQuery性能问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"怎么优化jQuery性能"
千家信息网最后更新 2025年11月10日怎么优化jQuery性能

这篇文章主要介绍"怎么优化jQuery性能",在日常操作中,相信很多人在怎么优化jQuery性能问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"怎么优化jQuery性能"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

一、选择器性能优化建议

1、总是从#id选择器来继承

这是jQuery选择器的一条黄金法则。jQuery选择一个元素最快的方法就是用ID来选择了。

2、在class前面使用tag

jQuery中第二快的选择器就是tag选择器(如$('head')),因为它和直接来自于原生的Javascript方法getElementByTagName()。所以最好总是用tag来修饰class(并且不要忘了就近的ID)

jQuery中class选择器是最慢的,因为在IE 浏览器 下它会遍历所有的DOM节点。尽量避免使用class选择器。也不要用tag来修饰ID。

3、使用子查询

将父对象缓存起来以备将来的使用

4、优化选择器以适用Sizzle的"从右至左"模型

自版本1.3之后,jQuery采用了Sizzle库,与之前的版本在选择器引擎上的表现形式有很大的不同。它用"从左至右"的模型代替了"从右至左"的模型。

5、采用find(),而不使用上下文查找

find()函数的确快些。但是如果一个页面有许多DOM节点时,需要来回查找时,可能需要更多时间:

6、利用强大的链式操作

采用jQuery的链式操作比缓存选择器更有效

7、编写属于你的选择器

如果你经常在代码中使用选择器,那么扩展jQuery的$.expr[':']对象吧,编写你自己的选择器。

二、优化DOM操作建议

8、缓存jQuery对象

将你经常用的元素缓存起来

9、当要进行DOM插入时,将所有元素封装成一个元素

这里的基本思想是在内存中建立你确实想要的东西,然后更新DOM。这并不是一个jQuery最佳实践,但必须进行有效的JavaScript操作 。直接的DOM操作速度很慢直接的DOM操作很慢。尽可能少的去更改HTML结构。

10、尽管jQuery不会抛出异常,但开发者也应该检查对象

尽管jQuery不会抛出大量的异常给用户,但是开发者也不要依赖于此。jQuery通常会执行了一大堆没用的函数之后才确定一个对象是否存在。所以在对一个作一系列引用之前,应先检查一下这个对象存不存在。

11、使用直接函数,而不要使用与与之等同的函数

为了获得更好的性能,你应该使用直接函数如. a j a x ( ) , 而 不 要 使 用 .ajax(),而不要使用.ajax(),而不要使用.get(),. g e t J S O N ( ) , .getJSON(),.getJSON(),.post(),因为后面的几个将会调用$.ajax()。

12、缓存jQuery结果,以备后来使用

你经常会获得一个javasript应用对象--你可以用App.来保存你经常选择的对象,以备将来使用

13、采用jQuery的内部函数data()来存储状态

不要忘了采用.data()函数来存储信息

14、使用jQuery utility函数

不要忘了简单实用的jQuery的 utility函数 。我最喜欢的是$.isFunction(), i s A r r a y ( ) 和 isArray()和isArray()和.each()。

15、为HTML块添加"JS"的class

当jQuery载入之后,首先给HTML添加一个叫"JS"的class$('HTML').addClass('JS');只有当用户启用JavaScript的时候,你才能添加CSS样式。

三、关于优化事件性能的建议

16、推迟到( window ) . l o a d

有 时 候 采 用 (window).load 有时候采用(window).load有时候采用(window).load()比$(document).ready()更快,因为后者不等所有的DOM元素都下载完之前执行。你应该在使用它之前测试它。

17、使用Event Delegation

当你在一个容器中有许多节点,你想对所有的节点都绑定一个事件,delegation很适合这样的应用场景。使用Delegation,我们仅需要在父级绑定事件,然后查看哪个子节点(目标节点)触发了事件。当你有一个很多数据的table的时候,你想对td节点设置事件,这就变得很方便。

18、使用ready事件的简写

如果你想压缩js插件,节约每一个字节,你应该避免使用$_(document).onready()

四、测试jQuery

19、jQuery单元测试

测试JavaSript代码最好的方法就是人来测试。但你可以使用一些自动化的工具如 Selenium , Funcunit , QUit , QMock 来测试你的代码(尤其是插件)。我想在另外一个专题来讨论这个话题因为实在有太多要说的了。

20、标准化你的jQuery代码

经常标准化你的代码,看看哪个查询比较慢,然后替换它。你可以用Firebug控制台。你也可以使用 jQuery的快捷函数来使测试变得更容易些

五、其他常用jQuery性能优化建议

21、使用最新版本的jQuery

最新的版本往往是最好的。更换了版本后,不要忘记测试你的代码。有时候也不是完全向后兼容的。

22、使用HMTL5

新的HTML5标准带来的是更轻巧的DOM结构。更轻巧的结构意味着使用jQuery需要更少的遍历,以及更优良的载入性能。所以如果可能的话请使用HTML5。

23、如果给15个以上的元素加样式时,直接给DOM元素添加style标签

要给少数的元素加样式,最好的方法就是使用jQuey的css()函数。然而更15个以上的较多的元素添加样式时,直接给DOM添加style 标签更有效些。这个方法可以避免在代码中使用硬编码(hard code)。

24、避免载入多余的代码

将Javascript代码放在不同的文件中是个好的方法,仅在需要的时候载入它们。这样你不会载入不必要的代码和选择器。也便于管理代码。

25、压缩成一个主JS文件,将下载次数保持到最少

当你已经确定了哪些文件是应该被载入的,那么将它们打包成一个文件。用一些开源的工具可以自动帮你完成,如使用 Minify (和你的后端代码集成)或者使用JSCompressor , YUI Compressor 或 Dean Edwards JS packer 等在线工具可以为你压缩文件。我最喜欢的是 JSCompressor 。

26、需要的时候使用原生的Javasript

使用jQuery是个很棒的事情,但是不要忘了它也是Javascript的一个框架。所以你可以在jQuery代码有必要的时候也使用原生的Javascript函数,这样能获得更好的性能。

27、从Google载入jQuery框架

当你的应用正式上线的时候,请从Google CDN载入jQuery,因为用户可以从最近的地方获取代码。这样你可以减少服务器请求,而用户如果浏览其他网站,而它也使用Google CDN的jQuery时,浏览器就会立即从缓存中调出jQuery代码。

28、缓慢载入内容不仅能提高载入速度,也能提高SEO优化,使用Ajax来载入你的网站吧,这样可以节约服务器端载入时间。你可以从一个常见的侧边栏widget开始。

到此,关于"怎么优化jQuery性能"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

选择 代码 函数 性能 元素 对象 测试 方法 节点 事件 时候 缓存 文件 版本 就是 建议 最好 样式 用户 学习 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 私有云 软件开发 价格 苏宁银行软件开发待遇 客户端 java服务器端 中国水污染疾病数据库 武昌区海航网络安全维护收费标准 安徽多功能网络技术开发价值 如何对比两个相同数据库 普陀区创新软件开发业务流程 网络安全教育视频短片 镇江图书馆数据库 地图类软件开发公司 口碑好的软件开发用友对接 萤火突击pc无法连接到服务器 举例说明数据库管理系统的概念 企业网络安全数据统计 联想服务器型号怎么看 崩坏三验证失败服务器异常 济宁启力网络技术有限公司 网络安全隐患的英语作文 前置机如何获取服务器的报文 以某软件开发系统构建WBS 青少年网络安全要注意哪些 诺亚网络技术 征集网络安全活动 网吧服务器配置30台 网络安全法于什么时候颁布 我谈网络安全作文 网络安全方面是成本还是投资 有没有心理学问卷数据库 维持网址的服务器算不算常设机构
0