Dzwebs.Net

撰写电脑技术杂文十余年

jquery2.0和1.0的区别

Admin | 2016-4-9 6:17:42 | 被阅次数 | 4268

温馨提示!

如果未能解决您的问题,请点击搜索;登陆可复制文章,点击登陆

  关于jquery这个库呢,的确有不同的版本,每次升级就会带来版本的不同,但是,每次升级的是对库的优化。

  下面是query2.0版本的升级之后的一些改动。

  1、不兼容 IE6/7/8

  需要注意 IE9、IE10 的兼容模式仍然会使 jQuery 2.0 运行不正常,需要在 HTTP header 指定 X-UA-Compatible 属性,或者在页面 meta 标签中声明(性能原因,不推荐后者);

  2、体积更小

  移除 IE6/7/8 兼容所需的代码,jQuery 2.0 体积减小了 10%,并且会根据 Android 2.x 版本的份额,移除更多兼容性代码,所以不要指望 jQuery 2.0 对旧设备的兼容性。

  3、可自定义包含的功能模块

  通过配置应用所需的功能函数,可编译获取指定功能模块的代码版本,更大幅度减小文件体积。

  4. 兼容 1.9 版本的 API如果你的网站应用已经在使用 jQuery 1.9 版本,那就可以直接平滑迁移到 2.0 ,建议使用 jQuery Migrate 插件调试确认。

  知识拓展:

  ⒈4重要新特性
  ·常用方法的性能大幅提升:重写了大部分较早期的函数;
  ·更容易使用的设置函数(setter function):为所有对象新增了许多易用的设置函数;
  ·对Ajax的改进:引入了许多Ajax和JSON处理方面的更新,包括HTML5元素的序列化;
  ·attribute(改进了.attr()的性能)、jQuery()核心函数、CSS(.css()性能有两倍提升)、特效和事件、DOM操作等也有显著改进

  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,新工具的压缩效果非常令人满意。


该杂文来自: 网页制作杂文

上一篇:xheditor自动上传粘贴的图片

下一篇:一个DIV设置两张或多张背景图

网站备案号:

网站备案号:滇ICP备11001339号-7

版权属性:

Copyright 2007-2021-forever Inc. all Rights Reserved.

联系方式:

Email:dzwebs@126.com QQ:83539231 访问统计