zoukankan      html  css  js  c++  java
  • Atitit.jquery 版本新特性attilax总结

    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 上支持 html54

    切换动画更加直观; 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尽可能得变小。可选模块包括ajaxcssdimensioneffectoffset,下面是移除所以可选模块的例子:

    git clone git://github.com/jquery/jquery.git
    cd jquery && npm install
    grunt custom:-ajax,-css,-deprecated,-dimensions,-effects,-offset

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

    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。 

    $.subjQuery 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.92.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

  • 相关阅读:
    【42.38%】【BZOJ 3196】二逼平衡树
    【7.89%】【BNUOJ 52303】Floyd-Warshall
    【37.38%】【codeforces 722C】Destroying Array
    【57.14%】【codeforces 722B】Verse Pattern
    【26.34%】【codeforces 722A】Broken Clock
    HNOI2008越狱(快速幂)
    HNOI2010弹飞绵羊
    JSOI2008最大数(线段树)
    ZJ2008树的统计(树链剖分)
    SDOI 2010 and SXOI 2014 地精部落 (递推)
  • 原文地址:https://www.cnblogs.com/attilax/p/15198904.html
Copyright © 2011-2022 走看看