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..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 ...

  2. Atitit.swift 的新特性 以及与java的对比 改进方向attilax 总结

    Atitit.swift 的新特性 以及与java的对比 改进方向attilax 总结 1. defer关键字1 2. try!形式存在的"不失败"机制3 3. Guard 4 4 ...

  3. Atitit.  c# 语法新特性 c#2.0 3.0 4.0 4.5 5.0 6.0   attilax总结

    Atitit.  c# 语法新特性 c#2.0 3.0 4.0 4.5 5.0 6.0   attilax总结 1.1. C# 1.0-纯粹的面向对象 1.2. C# 2.0-泛型编程新概念 1.3. ...

  4. React16、17、18版本新特性

    react-16版本新特性 一.hooks import { useState } from 'react'function App() {// 参数:状态初始值比如,传入 0 表示该状态的初始值为 ...

  5. iOS基础:新浪微博授权机制、 版本新特性

    文章目录 前言 1. 版本新特性 II. 新浪微博授权机制 2. 1.http://open.weibo.com/wiki/微博API 前言 新浪微博分享SDK 1. 版本新特性 HWNewFeatu ...

  6. Spark 3.2.0 版本新特性 push-based shuffle 论文详解(一)概要和介绍

    前言 本文隶属于专栏<大数据技术体系>,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢! 本专栏目录结构和参考文献请见大数据技术体系 目录 Spark 3.2.0 ...

  7. Go 1.18 版本新特性详解!

    导语 | 本文推选自腾讯云开发者社区-[技思广益 · 腾讯技术人原创集]专栏.该专栏是腾讯云开发者社区为腾讯技术人与广泛开发者打造的分享交流窗口.栏目邀约腾讯技术人分享原创的技术积淀,与广泛开发者互启 ...

  8. Android Q(10.0 API29)版本新特性和兼容性适配

    摘要 1.本文档基于谷歌AndroidQ官方文档和一加Q版本应用兼容性整改指导 2.本文档主要对影响比较大的部分进行简单总结,内容并不全面: 3.版本号对应关系: Android-Q = Androi ...

  9. Spark 3.2.0 版本新特性 push-based shuffle 论文详解(二)背景和动机

    前言 本文隶属于专栏<大数据技术体系>,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢! 本专栏目录结构和参考文献请见大数据技术体系 目录 Spark 3.2.0 ...

  10. ANSYS Mechanical 2020 R1 版本新特性-CABLE 280单元分析索结构

    导读:3D 缆索单元,可用的产品:Pro | Premium | Enterprise | PrepPost | Solver | AS add-on 一.CABLE 280 单元概述 CABLE28 ...

最新文章

  1. scrum工具leangoo缺陷管理看板示例
  2. BOM—浏览器对象模型(Browser Object Model)
  3. 和至少为k的最短子数组 python_和至少为k的最短子数组
  4. 拦截器 过滤器 监听器 的区别
  5. java多属性的map_java - 具有多个参数的MapStruct QualifiedByName - 堆栈内存溢出
  6. checkboxlist详细用法、checkboxlist用法、checkboxlist
  7. PHP 中 new static 和 new self 的区别
  8. Julia: 调用Python 库
  9. 海思Hi3559AV100ES Camera芯片处理器参数
  10. 爬虫工程师是干什么的
  11. 检查mysql被挂马_对付数据库被挂马有绝招
  12. 从零开始学习区块链技术
  13. 技术之道、思维的力量和人生观
  14. foxmail远程主机强迫关闭了一个现有的连接
  15. 【2021.08】python会员数据化运营task01
  16. CentOS 7 安装配置 k8s 1.25.3
  17. python读取图片文字-Python3实现获取图片文字里中文的方法分析
  18. ffmpeg 的 tbr tbc 和 tbn的意义
  19. adblock过滤规则编写
  20. 就在今晚!年度最大“超级月亮”来了!!!

热门文章

  1. android tv背景图片,android中shape绘制背景图片
  2. 安装pyspider报错:ERROR: Complete output from command python setup.py egg_info:...
  3. Centos安装php高版本
  4. 【Android开发】范例2-实现带图标的ListView
  5. Python开发第一步的环境搭建
  6. LIstView和TreeView相关联
  7. C语言区分大小写字母
  8. MySQL-第十五篇使用连接池管理连接
  9. 洛谷 P1168 中位数(优先队列)
  10. 在vue中后台返回的文本包含标签时候解析为html代码