博客精华 社区网摘媒体资讯
返回首页
当前位置: 网站首页 > 业内资讯 > 媒体资讯 >

jQuery1.6发布 提升性能重写属性模块

时间:2011-05-09 11:03来源:jQuery.com 作者:jQuery.com 点击:
jQuery 1.6正式发布,主要改动包括几处性能和跨浏览器兼容性的改进,包括了对属性(Attribute)模型的重要重写,attr()、val()和data()方法有了更好的性能;在attr()方法中支持Boolean属性;允许使用相对值...

据jQuery官网消息,5月3日JQuery 1.6正式发布了,主要改动包括几处性能和跨浏览器兼容性的改进,包括了对属性(Attribute)模型的重要重写。

同时透露,在发布之前jQuery已经着手开发jQuery1.7版本,有任何jQuery1.7版的开发建议可以上官方网站提交建议,jQuery欢迎任何个人或团队测试并给出jQuery1.7新版本的开发建议。

jQuery 1.6官方下载地址:
http://code.jquery.com/jquery-1.6.js
http://code.jquery.com/jquery-1.6.min.js

Microsoft CDN 下载: http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.6.min.js

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

  • 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团队已经接受了功能建议书

主要代码修改为:

整体上看,1.6修改了约8%的代码,主要有以下这些:

1.(559行)修正了JSON解析BUG,改变了JSON解析方式。1.5.2是调用Window.execScript执行脚本,1.6里改成了类似JSONP的方式,把代码直接当脚本插入文档了。

2.(1188行)重写了浏览器兼容性检测代码。旧版里通过动态创建一批元素,再反向检测他们的值来判断浏览器特性。这些代码在1.6中差不多都被干掉了。取而代之的是更精细的特性检测。还重写了关于脚本解析的兼容性测试。

3.(1835行)重写了队列的代码。

4.(2052行)本次更新的重头戏,涉及attr、val、html、css、test、data、width、height、offset这些函数完全重写。

5.(2009行)重写了trigger函数。

6.(6401行)重写了clean函数。

7.(8308行)修正了ajax在各浏览器中的某些微小的不一致。其实就是BUG。

8.(8833行)修正animate相关函数的BUG。性能优化。

官方博客更新内容部分翻译:

jQuery更新

1.Data

  更新内容:性能改进。高性能改进 .data()是通过提高性能触发事件。 jQuery的.data()方法使用setData事件触发GetData和扩展插件触发就如何改善,他们可以允许.data()变得更快。

2.Attributes

  更新内容:性能改进,测试数据中只有IE7和IE8略微有提升。其他浏览器下的性能都是大大的改善。

1).attr("value")性能测试图

2).attr("name","value")性能测试图

3).val()(get)性能测试图

3.Build

  更新内容:错误修正。#8854 :minifier过程问题

4.Core

  更新内容:jQuery.map(对象)它现在可以映射一个JavaScript对象的属性使用jQuery.map方法。

5.CSS

  更新内容:CSS相关。我们已经从.animate()方法移植出功能,使您能够使用相对更新CSS属性的值。现在,您可以在它前面加上CSS值以“+=”或“-=”来更新属性相对关系到当前价值。

6.Event

  更新内容:性能改进。正如.data的性能,触发事件的表现有所改善。

更多更新,请查看官方网站: http://blog.jquery.com/2011/05/03/jquery-16-released/

(责任编辑:admin)
顶一下
(1)
100%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名:密码: 验证码:点击我更换图片
推荐内容