Atitit.jquery 版本新特性attilax总结

1. Jq1.4 1

2. 1.5 1

3. 1.6 3

4. Jq1.7 3

⒉提升了事件委派时的性能有了大幅度的提升,尤其是在ie7下;
4

⒊更好的在 ie 6/7/8 上支持 html5;
4

⒋切换动画更加直观;
4

⒌匿名模块定义 awd
4

⒍jQuery.Deferred 4

⒎jQuery.isNumeric() 4

5. Jq1.8 5

5.1. jQuery 1.8 5

5.1.1. 可定制 5

5.1.2. 自动生成CSS前缀
5

5.1.3. 动画 6

5.1.4. Sizzle,选择器引擎升级
6

5.1.5. XSS保护
6

5.1.6. 全局Ajax事件的绑定
6

5.2. jQuery 1.9 6

5.2.1. XSS保护
6

5.2.2. 移除$.browser,$.sub
7

6. 1.10 7

7. 1.11 / 2.1 新特性 7

8. Jq2.0 8

8.1.1. 移除对IE6/IE7/IE8的支持
8

9. 参考 9

1. Jq1.4

jQuery 1.4 版本的十五个新特性 - 站长之家.htm

2. 1.5

1.5新版本

美国时间2012年1月31日John Resig在jQuery官方博客发表文章,宣布jQuery 1.5正式版已经如期开发完成,可以下载使用。压缩版本jQuery Minified29KB,不压缩版本jQuery Regular(用于阅读和调试)207KB。由于jQuery已经成为目前最流行的JavaScript库,得到广泛的支持,新版本的发布当然非常引人注目。

重要变化:

1. Ajax重写

Ajax模块完全进行了重写。新增一个jXHR对象,为不同浏览器内置的XMLHttpRequest提供了一致的超集。对于XMLHttpRequest之外的传输机制,比如jsonp请求,jXHR对象也可以进行处理。(详情可以参见:jQuery.ajax文档)

此外,系统的可扩展性大大增强,可以附加各种数据处理器、过滤器和传输机制,为开发新的Ajax插件提供了方便。

2. 延迟对象

延迟对象(Deferred Object,jQuery.Deferred对象)是一个可链接的(chainable)实用工具对象,实现了Promise接口,可以在回调队列中注册多个回调、调用回调队列并转发任何同步/异步函数的成败状态。正如Using Deferreds in jQuery 1.5一文中说明的,其结果是在jQuery中能够将依赖于某个任务(事件)结果的逻辑与任务本身解耦了。这一点在JavaScript中其实并不新鲜,Mochikit和Dojo等已经实现有些日子了。由于jQuery 1.5的Ajax模块内置使用了延迟对象,因此通过jQuery编写Ajax程序将自动获得这一功能。

开发人员借此可以使用无法立即获得的返回值(如异步Ajax请求的返回结果),而且第一次能够附加多个事件处理器。

例如,使用了新的jQuery内部Ajax api就可以实现下面的代码了:

// Assign handlers immediately after making the request,// and remember the jxhr object for this request var jxhr = $.ajax({ url: "example.php" }) .success(function() { alert("success"); }) .error(function() { alert("error"); }) .complete(function() { alert("complete"); });// perform other work here ... // Set another completion function for the request above jxhr.complete(function(){ alert("second complete"); });

此外,使用jQuery.Deferred还可以开发自己的延迟对象。更多详情参见:延迟对象文档。

3. jQuery.sub()

jQuery 1.5提供了一种创建和修改jQuery副本的方式。可以用来添加不向外部公开的方法,或者对jQuery的某些方法进行重新定义以提供新功能,或者提供更好的封装、避免名称空间冲突。当然,也可以用来开发插件,但Resig强烈建议在开发插件之前,先考虑jQuery UI widget工厂。

值得注意的是,sub函数并不提供真正的隔离,所有方法、数据、调用仍然依靠jQuery本身来支持。

4. 遍历性能提高

在新版本中.children(),.pre(),.next()几个常用的遍历函数性能有了显著提高。

5. 内部开发系统

John Resig还特别提到了jQuery团队内部开发系统的两点改变:一是服务器端用Node.js替换了老的Java/Rhino系统,使得团队可以专注于JavaScript环境的新变化;二是所用的代码优化程序从Google Closure切换到UglifyJS,新工具的压缩效果非常令人满意。

jQuery 1.5.2 在1.5的基础上修正的大量的bug

作者:: 老哇的爪子 Attilax 艾龙,  EMAIL:1466519819@qq.com

转载请注明来源: http://blog.csdn.net/attilax

3. 1.6

jQuery 1.6 正式版发布了,重写了 Attribute 模块和大量的性能改进。

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

· attr()、val()和data()方法有了更好的性能;

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

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

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

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

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

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

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

4. Jq1.7

同时,由于 jquery1.4.2 版本发布时间比较早,基于这版本开发的插件数量庞大,而对应版本的开发社区相当活跃,很多诡异的问题,网上都有对应的解决方案。

从可扩展性来分析吧,无论是 1.7.1 还是 1.4.2 留给开发扩展的方法只有两个,分别是 jquery.extend 和 jquery.fn.extend ,一种是添加静态属性和方法、一种是对象添加属性和方法,扩展方式比较简单,经历了多个版本,扩展方式都一致,因此在扩展性上面没什么可比较的。

jQuery 1.7b

2011年09月29日jQuery 1.7 的第一个 beta 测试版本,该版本修复了超过 50 个的问题以及带来一些新特性。

2011年11月4日jQuery1.7正式版发布。

新版本包含了很多新的特征,特别提升了事件委派时的性能尤其是在ie7下。

新增及改进项:

⒈新的事件 apis: .on() and .off();

⒉提升了事件委派时的性能有了大幅度的提升,尤其是在ie7下;

⒊更好的在 ie 6/7/8 上支持 html5;

⒋切换动画更加直观;

⒌匿名模块定义 awd

⒍jQuery.Deferred

⒎jQuery.isNumeric()

被删除的方法:

event.layerX and event.layerY

jQuery.isNaN()

2012年03月24日jQuery 1.7.2正式版发布。

该版本在1.7.1的基础上修复了大量的bug,并改进了部分功能。而相比于1.7.2 RC1,只修复了一个bug。值得注意的是:如果你正在使用jQuery Mobile,请使用最新的jQuery 1.7.2和jQuery Mobile 1.1这两个版本,因为之前的jQuery Mobile版本还基于jQuery core 1.7.1或更早的版本。

5. Jq1.8

2012年11月14日 jQuery 1.8.3 发布,修复 bug 和性能衰退问题

ie8中的html相关Bug

jQuery 1.8.2在ie9中调用ajax失败的问题

jQuery 1.7.1不能正确地设置ie7中克隆元素的tabindex属性

压缩的JS文件包含非ascii字符

如果body样式设置为display:none,则$('body').show()无法工作

ie9中element.css('filter')返回不明确

在Android 2.3.4的浏览器中,jQuery 1.8.1转场效果崩溃

在iPad上缩放一个灯箱效果后,所有动画效果失效

从1.3.2升级到1.8.2版本后,出现Uncaught TypeError错误

在Chrome和Safari中,无法正确检测包含可编辑内容的div的焦点

2

5.1. jQuery 1.8

5.1.1. 可定制

在jQuery 1.8中现在可以定制自己的jQuery版本,你可以移除不需要的模块从而使得jQuery尽可能得变小。可选模块包括ajax,css,dimension,effect和offset,下面是移除所以可选模块的例子:

git clone git://github.com/jquery/jquery.git

cd jquery && npm install

grunt custom:-ajax,-css,-deprecated,-dimensions,-effects,-offset

这样将能得到一个大约21KB的jQuery。当然这个特性适用于高级的用户,你必须理解你项目中第三方插件所依赖的部分。

5.1.2. 自动生成CSS前缀

$.css()自动使用无前缀的属性名并生成适用于当前浏览器的前缀。Web开发者不再需要担心各种浏览器特定的属性名。比如在Chrome中

,jQuery调用$(“#myscroll”).css(“marquee-direction”,”backwards”)将设置CSS为-webkit-marquee-direction:backwards。

5.1.3. 动画

jQuery动画代码已经被整理过,并有所增强。现在可以更简单地添加和删除动画。如果你需要支持没有内置动画的过去的浏览器,新的$.Animation提供了固定的函数。如果你仅需要支持最新的浏览器,使用它们原生支持的动画,你可以跳过整个动画模块。

5.1.4. Sizzle,选择器引擎升级

Sizzle是jQuery的CSS选择器引擎,在1.8中被大幅重写过。由此带来了选择匹配上的性能增强,以及对常用选择器的快捷改善。

5.1.5. XSS保护

jQuery 1.8引入了新的$.parseHTML方法,可以以HTML形式指定输入方式。.$parseHTML提供了解析HTML为DOM片段的方式并控制脚本的执行。强烈推荐使用$.parseHTML,特别是对从非安全资源中取得的输入。

5.1.6. 全局Ajax事件的绑定

全局ajax事件,比如由$.ajax触发的ajaxStart此前可以被绑定在任意元素上,甚至是不在document中的元素。这会产生低效的使用方 式,因此该行为在jQuery 1.8中已经过期了。而在jQuery1.9中,ajax事件将只能被绑定到document上。

5.2. jQuery 1.9

jQuery 1.9预期将在2013初发布。

5.2.1. XSS保护

$()方法如果传入<script>标签可以创建HTML元素并运行脚本。开发者有时会忘了这点,将非安全处取得的资源传入jQuery中从 而导致了cross-site-scripting(XSS)的攻击。在jQuery 1.9中,$()方法更严格地限制了传入规则,字符串只有当首字母是“<”符号时才会被认为是HTML,否则会被当作是CSS选择器。

5.2.2. 移除$.browser,$.sub

$.browser在jQuery 1.3中被废弃,并将在jQuery 1.9中被移除。开发者可以换用$.support或者直接读取navigator.userAgent。

$.sub在jQuery 1.7中被废弃,同样也将在jQuery 1.9中被移除。该函数新建jQuery的副本,对它属性或方法的修改不会影响原先的jQuery对象。但这个函数并未被证明是有用的,所以移到了1.9 的兼容插件里。这样jQuery 1.9文件的尺寸会变得更小。

6. 1.10

该版本包含了最初在jQuery 2.0中引入的一些小的改进,并修复了1.9.1版本中出现的bug。 



除此之外,该版本还放宽了$()中HTML处理的条件,允许出现前导空格和换行符。对于来自外部源的HTML,仍然建议使用$.parseHTML()。未来jQuery版本将会对$(string)进行严格的限制,以避免跨站脚本攻击(XSS)。 



由于1.10版本没有什么大的变化,对于已经升级到1.9/2.0版本的用户,可以很容易地迁移至该版本。如果还没有升级到这两个版本,可以参阅jQuery 1.9升级指南,并借助 jQuery迁移插件

7. 1.11 / 2.1 新特性

Beta 版本的新特性包括:

· 异步模块定义 Asynchronous Module Definition (AMD)

· 通过 npm 发布

· 性能提升

· bug 修复

8. Jq2.0

2013年3月 jQuery 2.0 Beta 2 发布

据jQuery官方博客3月消息,jQuery 2.0 Beta 2 发布。

根据用户对jQuery 2.0 Beta 1 版本的反馈,Beta 2 版做了一些修改。jQuery官方表示,非常需要用户来测试 Beta 2 版,最好同时也能向他们反馈提交建议。

他们相信,Beta 2 版已非常稳定,值得一试,不需要等 2.0 的最终版本。

jQuery 团队在官博中再次提醒用户,jQuery 2.0 不再支持ie 6/7/8 了,但是 jQuery 1.9 会继续支持。因为旧版 ie 浏览器在整个互联网中还有很大部分市场,所以他们非常期望大部分网站能继续使用 jQuery 1.x 一段时间。jQuery 团队也将同时支持 jQuery 1.x 和 2.x 。1.9 和 2.0 版的 api 是相同的,所以不必因为你们网站还在用 jQuery 1.9,就感觉好像错过了什么,或者是落后了。

如果你想继续支持 ie 6/7/8,并且又想尝试 jQuery 2.0,那你可以额外加上一些代码。除了老版的 ie,其他所有浏览器都将使用第二脚本,忽略第一个。

在很多环境中,jQuery 2.0 应当都表现的很好。如下:

Google Chrome plugins

Mozilla XUL apps and Firefox extensions

Firefox os apps

Chrome os apps

Windows 8 Store (“Modern/Metro UI”) apps

BlackBerry 10 WebWorks apps

PhoneGap/Cordova apps

Apple UIWebView class

Microsoft WebBrowser control

Cheerio or jsdom with Node.js

Intranet applications

2013年4月18日 jQuery 2.0正式版发布

不再支持IE 6/7/8:如果在IE9/10版本中使用“兼容性视图”模式也将会受到影响。

更轻更快:2.0版本文件与1.9.1相比小了12%。

可以构建一个更小、更轻量的版本。

jQuery 2.0 API完全兼容jQuery 1.9 API。

jQuery 1.9.1汉化版2013年2月23日发布,由网友翻译非官方

这个版本同样会在2013年初发布,紧跟在1.9的发布之后。

8.0.1. 移除对IE6/IE7/IE8的支持

jQuery 2.0将支持与jQuery 1.9相同的API,并无多大的特性增加,但会移除对IE 6/7/8的支持。正因为支持相同的API1.9和2.0之间是可以互换的。jQuery 2.0更小,更快捷,不会有IE 6/7/8带来的问题,如果需要支持IE 6/7/8,就选择1.9。你可以通过条件注释在使用IE 6/7/8时选择jQuery 1.9。

9. 参考

jquery两稳定版本比较~~ - - ITeye技术网站.htm

jQuery 1.4 版本的十五个新特性 - 站长之家.htm

jQuery 1.6 正式版发布 - 开源中国社区.htm

jQuery 1.8,1.9和2.0分别带来的新特性 - 无心的专栏 - 博客频道 - CSDN.NET.htm

jQuery 1.10 测试版发布 - Web前端 - ITeye资讯.htm

jQuery 1.11.0_2.1.0 Beta 2 新特性 _ 乐嵌网.htm

Atitit.jquery 版本新特性attilax总结的更多相关文章

  1. Atitit opencv版本新特性attilax总结

    Atitit opencv版本新特性attilax总结 1.1. :OpenCV 3.0 发布,史上功能最全,速度最快的版1 1.2. 应用领域2 1.3. OPENCV2.4.3改进 2.4.2就有 ...

  2. Atitit.jquery 版本号新特性attilax总结

    Atitit.jquery 版本号新特性attilax总结 1. Jq1.4 1 2. 1.5 1 3. 1.6 3 4. Jq1.7 3 ⒉提升了事件委派时的性能有了大幅度的提升.尤其是在ie7下: ...

  3. Atitit mac os 版本 新特性 attilax大总结

    Atitit mac os 版本 新特性 attilax大总结 1. Macos概述1 2. 早期2 2.1. Macintosh OS (系统 1.0)  1984年2 2.2. Mac OS 7. ...

  4. Atitit html5.1 新特性attilax总结

    Atitit html5.1 新特性attilax总结 9. 嵌入 header 和 footer1 7. 校验表单1 6. 浏览器的上下文菜单2 1. 响应式图像2 Attilax觉得还不错的心特性 ...

  5. atitit.atiLinq v2新特性attilax大总结 q326

    atitit.atiLinq v2新特性attilax大总结 q326 1. V3规划 (分开sql2obj sql2sql sql2xml)1 2. V2新特性 Url linq的定义1 3. V1 ...

  6. Atitit..jdk java 各版本新特性 1.0 1.1 1.2 1.3 1.4 1.5(5.0) 1.6(6.0) 7.0 8.0 9.0 attilax 大总结

    Atitit..jdk java 各版本新特性 1.0 1.1 1.2 1.3 1.4 1.5(5.0) 1.6(6.0) 7.0 8.0 9.0 attilax 大总结 1.1. Java的编年史2 ...

  7. atitit.atiOrm.js v2 q61 版本新特性.docx

    atitit.atiOrm.js v2 q61 版本新特性.docx 1. V1新特性如下1 1.1. V2规划,直接生成sql在js端1 2. Orm设计框架图1 2.1. atiOrm.js的原理 ...

  8. Atitit 发帖机系列(8)  词法分析器v5 版本新特性说明)

    Atitit 发帖机系列(8)  词法分析器v5 版本新特性说明) v5  增加对sql单引号的内部支持.可以作为string 结构调整,使用递归法重构循环发..放弃循环发. V4 java dsl词 ...

  9. Atitit hibernate3 hinernate4 hibernate5新特性attilax总结

    Atitit hibernate3 hinernate4 hibernate5新特性attilax总结 1.1. Hibernate3的新特性 1 1.2. hibernate4.1版本中的新特性和h ...

随机推荐

  1. [HTML/CSS]z-Index层重叠顺序

    目录 语法结构 如何使用? 使用案例 总结 语法结构 z-index:具体数字.如:div{z-index:100},注意,后面跟的数字并不带单位.主要应用在div,span等标签的层叠处理. 如何使 ...

  2. Android Context作为参数传递this

    来自:http://blog.csdn.net/sswmjoy/article/details/46119285将弹出框作为函数封装后参数为Context,供其他的类调用时,将this作为参数传入,总 ...

  3. 【Morn UI系列教程】Morn简介及使用教程

    网页游戏开发的一大部分工作是在和UI制作上,一个好的工具及框架能使开发事半功倍,Adobe自带flash IDE和Flex各有不足. Morn UI学习了Flash IDE使用的方便性(比如图层功能, ...

  4. [Git] git revert ( revert commit 和 revert merge)

    转载自:http://blog.csdn.net/qinjienj/article/details/7621887 我们难免会因为种种原因执行一些错误的commit / push,git提供了reve ...

  5. Traefik的TLS配置

    生产环境的部署大多采用F5+ Traefik这种方式,因为Traefik的SSL方式相对来说比较慢,因此SSL更多的在F5上开放,而F5到Traefik之间以及后端都是http方式. 但客户需要在开发 ...

  6. 十一.spring-boot 添加http自动转向https

    SSL是为网络通信提供安全以及保证数据完整性的的一种安全协议,SSL在网络传输层对网络连接进行加密. 例:cas 的单点登陆就用到了SSL 一.安全证书的生成 1.可以使用jdk自带的证书生成工具,j ...

  7. struts2安全漏洞

    1 背景 Struts2是apache项目下的一个web 框架,普遍应用于阿里巴巴.京东等互联网.政府.企业门户网站. 2 内容 在2013年6月底发布的Struts 2.3.15版本被曝出存在重要的 ...

  8. mysql5.7.x 编译安装

    一.卸载mariadb [root@mysql5 ~]# rpm -qa mariadb* mariadb-libs--.el7.centos.x86_64 [root@template tools] ...

  9. TensorFlow------TFRecords的读取实例

    TensorFlow------TFRecords的读取实例: import os import tensorflow as tf # 定义cifar的数据等命令行参数 FLAGS = tf.app. ...

  10. Activex打包于发布完整版---微软证书制作

    众所周知,Activex组件没有进行有效的签名,在IE上无法安装的,除非你让用户手工开启“接收任何未签名的ActiveX”,这个很明显不现实.而组件签名需要证书,证书从哪里来,你可以选择付1000到3 ...