• jQuery 3.0终于发布了!
  • 浪牛三刀 发表于 2016/7/4 9:47:00 | 分类标签: jquery3.0 jquery资料
  •  jQuery团队终于揭开了等待已久的3.0发布版的神秘面纱,带来了全新的、精简过的选项,以及新的主要功能、改进和bug的修复。

    在《jQuery 3.0终于发布了!》的博客帖中,jQuery团队的核心成员Timmy Willison宣布了jQuery的“精简编译”,其中说道:“有时你不需要ajax,或者你更偏向使用专门集中于ajax请求而开发的许多独立库之一。并且使用CSS和类处理来实现你的web动画往往更加简单。”

    精简版与标准版jQuery一起发布,其中不包括ajax、动画效果和最近否决的代码,对比完整版的30k,它以精简的23.6k的大小呈现在大家面前。这个精简版的jQuery包可以在这里下载。

    自从2014年十月以来的预测,在3.0这个重要里程碑的新功能中还有一个更新过的jQuery.Deferred对象。现在它兼容Promises/A+和ES2015 Promises,Willison还解释,在3.0版本中“在.then()回调中抛出的异常现在变成了一个rejection类型的值。之前,异常会一直向上抛出,中止了回调的执行。任何被defer的部分,如果依赖于一个抛出异常的、被defer的部分的解决,那它将永远不会被执行。”

    Willison还做了一个很重要的区分,使用rejection回调处理被捕获的异常现在描述性更强了,这使开发者们可以使用promises时总是添加至少一个rejection回调。

    3.0发布版中的其他改进还包括在展示动画效果、展示更平滑的动画和减少移动端电量损耗的时候使用requestAnimationFrameAPI。当Willison解释之前在代码的兼容性问题后他们提出而又否决这次更新时,他说他们的团队希望能通过在浏览器标签页离开视图时延迟动画解决这个问题。

    除了大量其他的修改,jQuery 3.0现在带来了正式的对jQuery.ready中的promise的支持。然而人们注意到jQuery.ready自从jQuery 1.8开始就作为类似promise对象的消耗品,在文档中它通过jQuery.when或原生的Promise.resolve()给予支持。一个典型的使用例子如下:
    $.when( $.ready, $.getScript("optional.js") ).then(function() {
       // the document is ready and optional.js has loaded/run
    }).catch( function() {
       // an error occurred
    })
    这次发布版还带来了一些突破性的变化,尽管它本来是企图尽可能向后兼容的。在jQuery核心中,jQuery是使用"use strict"命令来编译的,虽然人们能够注意到大部分已存在的代码不应该产生任何变化,因为在Strict模式中它不允许执行。

    其他的突破性变化包括去除了jQuery核心中已否决的.context和.selector属性,这也是一个对数据名的改变。从3.0开始,所有的数据名都以驼峰式命名法进行存储(clickCount),而不是使用串联命名法(click-count)。
  • 请您注意

    ·自觉遵守:爱国、守法、自律、真实、文明的原则

    ·尊重网上道德,遵守《全国人大常委会关于维护互联网安全的决定》及中华人民共和国其他各项有关法律法规

    ·严禁发表危害国家安全,破坏民族团结、国家宗教政策和社会稳定,含侮辱、诽谤、教唆、淫秽等内容的作品

    ·承担一切因您的行为而直接或间接导致的民事或刑事法律责任

    ·您在编程中国社区新闻评论发表的作品,本网站有权在网站内保留、转载、引用或者删除

    ·参与本评论即表明您已经阅读并接受上述条款

  • 感谢本文作者
  • 作者头像
  • 昵称:浪牛三刀
  • 加入时间:2013/7/12 0:00:00
  • TA的签名
  • 这家伙很懒,虾米都没写
  • +进入TA的空间
  • 以下内容也很赞哦
分享按钮