JQuery 1.6发布 性能提升,同时包含大量破坏性变更

新版本中的部分重要改进:

  • attr()val()data()方法有了更好的性能;

  • 在attr()方法中支持Boolean属性;

  • 添加了钩子函数,允许对attr()和val()方法进行扩展;

  • map()方法添加了对对象的支持(将JavaScript对象的属性映射到函数)

  • 允许使用相对值(“+=”,“-=”)更新CSS;

  • 添加了deferred.always(), deferred.pipe()方法,减少了代码量,提高了代码易读性;

  • 同步动画 – 现在所有动画都同步到相同的时间间隔. 使用新的浏览器功能,动画也更顺畅;

  • find()closest()is()可接收所有的DOM元素和JQuery对象作为参数。

所有这些新特性连同整个bug修复列表在官方博文中都有详细说明。

不幸的是,其中包含了部分破坏性的变更,团队已经在官方更新中用单独的章节强调了它们:














变更 JQuery 1.5.2 示例 JQuery 1.6 示例
data()方法使用破折号创建驼峰格式。
data-max-value="15" 创建{ max-value: 15 } data-max-value="15" 创建{ maxValue: 15 }
区分了Property与Attribute。attr()方法现在不能用于获取preperty的值。为了处理property的值,引入了prop()和removeProp()方法。 如果复选框被选中,checkbox.attr("checked")返回(true)

checkbox.attr("checked")返回空字符串。
要判别是否选中,需在事件处理程序中使用
$(this).prop("checked")或
$(this).is(":checked")。

不出意外的话,第二项变更将会影响到现有打算升级到1.6的那些项目。

这一版本是在1.5发布后3个月及1.5.2发布后1个月推出的。目前1.7的工作已经开始了,JQuery团队已经接受了功能建议书

JQuery是一个用于快速Web开发的JavaScript库,它简化了HTML文档遍历、事件处理、动画以及Ajax交互。

(0)

相关推荐

  • JQuery 1.6发布 性能提升,同时包含大量破坏性变更

    新版本中的部分重要改进: attr().val()和data()方法有了更好的性能: 在attr()方法中支持Boolean属性: 添加了钩子函数,允许对attr()和val()方法进行扩展: map()方法添加了对对象的支持(将JavaScript对象的属性映射到函数) 允许使用相对值("+=","-=")更新CSS: 添加了deferred.always(), deferred.pipe()方法,减少了代码量,提高了代码易读性: 同步动画 – 现在所有动画都同步

  • 详解盒子端CSS动画性能提升

    流畅动画的标准 理论上说,FPS 越高,动画会越流畅,目前大多数设备的屏幕刷新率为 60 次/秒,所以通常来讲 FPS 为 60frame/s 时动画效果最好,也就是每帧的消耗时间为 16.67ms. 直观感受,不同帧率的体验 帧率能够达到 50 - 60 FPS 的动画将会相当流畅,让人倍感舒适: 帧率在 30 - 50 FPS 之间的动画,因各人敏感程度不同,舒适度因人而异: 帧率在 30 FPS 以下的动画,让人感觉到明显的卡顿和不适感: 帧率波动很大的动画,亦会使人感觉到卡顿. 盒子端动

  • python 性能提升的几种方法

    关于python 性能提升的一些方案. 一.函数调用优化(空间跨度,避免访问内存) 程序的优化核心点在于尽量减少操作跨度,包括代码执行时间上的跨度以及内存中空间跨度. 1.大数据求和,使用sum a = range(100000) %timeit -n 10 sum(a) 10 loops, best of 3: 3.15 ms per loop %%timeit ...: s = 0 ...: for i in a: ...: s += i ...: 100 loops, best of 3:

  • Spring Boot 2.2 正式发布,大幅性能提升 + Java 13 支持

    之前 Spring Boot 2.2没能按时发布,是由于 Spring Framework 5.2 的发布受阻而推迟.这次随着 Spring Framework 5.2.0 成功发布之后,Spring Boot 2.2 也紧跟其后,发布了第一个版本:2.2.0.下面就来一起来看看这个版本都更新了些什么值得我们关注的内容. 组件版本更新 这些Spring框架组件更新了依赖版本: Spring AMQP 2.2 Spring Batch 4.2 Spring Data Moore Spring Fr

  • log4j2异步打印性能提升方式

    目录 log4j2异步打印性能提升 分析原因 解决方案 log4j2性能提升点 理解为以下三点 log4j2异步打印性能提升 压测结果发现,log4j升级成log4j2之后对系统性能影响并不大,更改打印日志方式(同步修改成异步打印) 压测结果发现TPS在开始阶段提升较快,当压力上来之后,TPS下降迅速,不如同步的数据(log4j2用的版本是2.3) 分析原因 获取压测是堆栈日志如下: 发现线程都在跑LockSupport.parkNanos也就是unsafe.park(false, 1);(pr

  • 利用JuiceFS使MySQL 备份验证性能提升 10 倍

    目录 数据准备 使用默认参数 增大XtraBackup的内存缓冲区 增大XtraBackup读线程数 JuiceFS启用异步写 增大JuiceFS的磁盘缓存 增大数据库数据量 总结 前言: JuiceFS 非常适合用来做 MySQL 物理备份,具体使用参考官方文档.在测试时,备份验证的数据准备(xtrabackup --prepare)过程非常慢.我们借助 JuiceFS 提供的性能分析工具做了分析,快速发现性能瓶颈,通过不断调整 XtraBackup 的参数和 JuiceFS 的挂载参数,在一

  • 把spring boot项目发布tomcat容器(包含发布到tomcat6的方法)

    spring boot因为内嵌tomcat容器,所以可以通过打包为jar包的方法将项目发布,但是如何将spring boot项目打包成可发布到tomcat中的war包项目呢? 1. 既然需要打包成war包项目,首先需要在pom.xml文件中修改打包类型,将spring boot默认的<packaging>jar</packaging>修改为<packaging>war</packaging>形式: 2. 其次spring boot的web项目中内嵌tomca

  • Nginx开启一个参数就能让你的WEB性能提升3倍的方法

    一.遇到的一些问题 记得 2008 年做性能测试的时候,新进7台 lenovo 4核4G 服务器用于性能测试. 当时资源紧张,这7台服务器都装了双系统(Win2003/CentOS5)空闲时用于做测试机(压测的Agent). 当时给Nginx做了一系列测试,印象很深的是:在这批机器上,Nginx状态页面的压测. 短连接的话最佳QPS约4万,长连接的话最高QPS约13万. 大概3年后,那批 lenovo 服务器已经没人瞧得上了,只能做肉鸡. 然而,一次不经意的测试,发现再牛的服务器,短连接最佳QP

  • php使用yield对性能提升的测试实例分析

    本文实例讲述了php使用yield对性能提升的测试.分享给大家供大家参考,具体如下: 生成器提供了一种更容易的方法来实现简单的对象迭代,相比较定义类实现 Iterator 接口的方式,性能开销和复杂性大大降低.生成器允许你在 foreach 代码块中写代码来迭代一组数据而不需要在内存中创建一个数组, 那会使你的内存达到上限,或者会占据可观的处理时间.相反,你可以写一个生成器函数,就像一个普通的自定义函数一样, 和普通函数只返回一次不同的是, 生成器可以根据需要 yield 多次,以便生成需要迭代

  • php7性能提升的原因详解

    为什么PHP7的性能可以提高这么多? 1. JIT 2. Zval的改变 3. 内部类型zend_string 4. PHP数组的变化(HashTable和Zend Array) 5. 函数调用机制(Function Calling Convention) 6. 通过宏定义和内联函数(inline),让编译器提前完成部分工作 为什么PHP7的在实际的业务性能提高才30%左右? 实际的业务不一定有很复杂的计算逻辑 实际的业务会用到Redis 和MYSQL,网络和IO的瓶颈 影响了PHP7的整体性能

随机推荐