jQuery使元素的选择变得异常简单,这也是它快速流行起来的一大原因,如果你看刚刚开始使用jQuery朋友写的代码时,会发现很多数人写的代码都在滥用jQuery选择器。   如果你发现同一元素被查找多次时,你就应该将该jQuery对象缓存起来,不然每次查找都要遍历整个文档。这个话题可能显得有点老生常谈,因为这几天写的东西都和调试jQuery代码有关系,所以将这个问题再次说明一下。关于在控制台中打印程序执行时间大家可以参考下使用 console.time() 计算jQuery代码执行时间,我们使用下边的代码做个简单的测试:

console.time('noSaved');
for (var i = 0; i < 1000; i++) {$('.no').text(i + ' ');
}
console.timeEnd('noSaved');console.time('saved');
var the = $('.yes');
for (var i = 0; i < 1000; i++) {the.text(i + ' ');
}
console.timeEnd('saved'); 

在chrome下按F12打开控制台,下图是不保存jQuery对象和保存jQuery对象时执行时间的对比,相信通过此图你会开始重视代码的性能。

当我换用较新版本的jQuery测试时发现新版本的jQuery在选择器上性能并没有提高,反而有所下降,大家可以在自己电脑上试试!

作者:jQuery学习

除非注明,jQuery学习网文章均为原创,转载时必须以链接形式标明本文地址。

本文地址:http://www.jquery001.com/cache-jquery-object.html

转载于:https://www.cnblogs.com/tv151579/p/3867856.html

缓存jQuery对象来提高性能相关推荐

  1. 对象池回收对象_回收对象以提高性能

    对象池回收对象 总览 在上一篇文章中,我说过对象反序列化更快的原因是由于使用了回收对象. 由于两个原因,这可能令人惊讶:1)相信如今创建对象是如此之快,无关紧要或与回收自己一样快,2)默认情况下,任何 ...

  2. BOS12——多对多添加方法,多对多页面需要字段问题(不多的话直接提供get方法),修改Realm中授权方法(查询数据库),缓存Java对象的方法,加载左侧菜单(ztree提供pId)...

    1.多对多添加方法 @Override public void add(Role model, String functionIds) {// 1.先将角色保存到数据库roleDao.save(mod ...

  3. IO系统性能之二:缓存和RAID如何提高磁盘IO性能

    高速缓存(Cache) RAID(Redundant Array Of Inexpensive Disks) 四个性能指标的变化 IO响应时间(IO Response Time) IOPS 传输速度( ...

  4. JQuery常用功能的性能优化

    使用最佳选择器 通常比较常用的选择器有以下几个: 1.ID选择器 $("#id") 2.标签选择器 $("td") 3.类选择器 $(".target ...

  5. python3 性能提升_整理下Python性能语法,非常有效的提高性能的tips

    阅读 Zen of Python,在Python解析器中输入 import this. 一个犀利的Python新手可能会注意到"解析"一词, 认为Python不过是另一门脚本语言. ...

  6. java项目怎样提高性能_Java程序员成长之路(如何提高Java程序性能?)

    1.尽量在合适的场合使用单例 使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例主要适用于以下三个方面 第一,控制资源的使用,通过线程同步来控制资 ...

  7. Java 编程:如何提高性能?(简单总结篇)

    2019独角兽企业重金招聘Python工程师标准>>> 开发者在编程中除了要有编程规范,还要注意性能,在 Java 编程中有什么提高性能的好办法呢? 本文转自国内 ITOM 行业领军 ...

  8. 读jquery 权威指南[7]-性能优化与最佳实践

    一.优化选择器执行速度 1. 优先使用ID选择器和标记选择器 使用选择器时应该首选ID选择器($("#id")),其次是标记选择器($("div")),最后再选 ...

  9. .NET Framework 如何:提高性能

    以下编程做法可以节省内存和改善设备应用程序的性能. 使用 Windows 窗体和图形节省内存 对提供 BeginUpdate 和 EndUpdate 方法的控件使用这两种方法,提供这两种方法的控件包括 ...

最新文章

  1. mqtt 之 last will(遗愿)
  2. unique离散化用法
  3. 堆排序java实例_堆排序(示例代码)
  4. 设计模式之Builder模式 (C++实现)
  5. 如何动态创建asp.net 用户控件
  6. 阿里云数加产品家族图首次亮相
  7. (90)FPGA十进制计数器设计-面试必问(十四)(第18天)
  8. 封装JDBC—非框架开发必备的封装类
  9. cdr非法软件 您的产品已被禁用怎么回事_多层刺网非法捕鱼 顺庆男子被取保候审...
  10. 【报告分享】阿里巴巴全生态就业体系与就业质量研究报告.pdf(附下载链接)...
  11. echarts词云第一次出现不了数据要刷新才能出现_隐秘的角落弹幕分析,制作词云,看看观众们对该剧的评价如何...
  12. 欧姆龙NJ 中大型PLC高端型搭载欧姆龙NB触摸屏
  13. mysql清数据库并导入_mysql 数据库导入数据
  14. mysql字符集与校对规则设置_mysql 字符集和校对规则
  15. Excel 下拉列表数据有效性智能匹配筛选
  16. Cisco服务器硬盘状态jbod,2018-11-06 JBOD模式下LSI9361RAID卡操作步骤
  17. 微信分享到朋友圈的链接,内容打开正常,但在微信中分享时封面缩略图图像和标题显示不出来?
  18. f5负载mysql_F5 LTM 负载均衡理论 | 奕中世界
  19. Squid反向代理加速WEB
  20. (二)航空发动机强度与振动复习纲要

热门文章

  1. 键是什么意思_化学提高不饱和键是什么意思
  2. thymeleaf if 条件判断
  3. 【2021牛客暑期多校训练营5】Double Strings(二维字符串dp)
  4. 【AcWing】103. 电影(离散化)
  5. 【服务器】Cloudreve绑定七牛云免费对象存储
  6. win10开始屏幕计算机,为什么Win10系统开始屏幕没反应?解决Win10系统开始屏幕没反应的方法...
  7. 一只青蛙跳向三个台阶_Java版剑指offer编程题第9题--变态跳台阶
  8. AngularJs学习笔记(二)
  9. UnityShader15:前向渲染
  10. HDU 6162 2017 多校训练:Ch's gift(树链剖分)