jQuery各版本的区别

jQuery各版本的区别

我们平时使用的jQuery包括了1.x,2.x,3.x这几个版本,今天就大概说一下这几个版本性能的区别

1.X:兼容IE678,使用最为广泛,官网只做BUG维护,功能不再新增。因此一般项目来说,使用1.X版本就可以了。

2.X不兼容ie678,很少有人使用,官方只做BUG维护,功能不再新增。如果不考虑兼容低版本的浏览器可以使用2.x。(过渡)

3.X不兼容ie678,只支持最新的浏览器。除非特殊要求,一般不会使用3.x版本的,很多老的jQuery插件不支持这个版本。

所以现在使用最广的版本都是1.x的,因为它能够兼容很多浏览器。

jQuery 2.x 不是 1.x 的后续或者升级版本,他们是同时更新迭代的。

1.X版本的特性

jQuery 1.0

该库的第一个稳定版本,已经具有了对CSS选择符、事件处理和AJAX交互的稳健支持。

后面没什么大改动,直到了1.4版本,有了新的性能:

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

1. Ajax重写

Ajax模块完全进行了重写。新增一个jXHR对象,为不同浏览器内置的XMLHttpRequest提供了一致的超集。
对于XMLHttpRequest之外的传输机制,比如JSONP请求,jXHR对象也可以进行处理。
此外,系统的可扩展性大大增强,可以附加各种数据处理器、过滤器和传输机制,为开发新的Ajax插件提供了方便。

2. 延迟对象

延迟对象(Deferred Object,jQuery.Deferred对象)是一个可链接的(chainable)实用工具对象,
实现了Promise接口,可以在回调队列中注册多个回调、调用回调队列并转发任何同步/异步函数的成败状态。

正如Using Deferreds in jQuery 1.5一文中说明的,其结果是在jQuery中能够将依赖于某个任务(事件)结果的逻辑与任务本身解耦了。
这一点在JavaScript中其实并不新鲜,Mochikit和Dojo等已经实现有些日子了。
由于jQuery 1.5的Ajax模块内置使用了延迟对象,因此通过jQuery编写Ajax程序将自动获得这一功能。

  1. jQuery.sub()
jQuery 1.5提供了一种创建和修改jQuery副本的方式。
可以用来添加不向外部公开的方法,或者对jQuery的某些方法进行重新定义以提供新功能,
或者提供更好的封装、避免名称空间冲突。

当然,也可以用来开发插件,但Resig强烈建议在开发插件之前,先考虑jQuery UI widget工厂。
值得注意的是,sub函数并不提供真正的隔离,所有方法、数据、调用仍然依靠jQuery本身来支持。

jQuery 1.7

在这个版本加入了一些我们现在常用的函数,在以前版本是不能用的。
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()

后面的版本又主要是修复之前存在的BUG,没加什么新的功能

所以在平时开发1.7基本也就能满足我们的需求了。

另外还要提的是,如果jQuery版本问题和浏览器不兼容会导致一些问题

1、该网页的脚本与所使用的浏览器不兼容,导致参数赋值不正确;
2、浏览器可能被破坏,导致某些页面控件不能正常使用而导致参数赋值不正确;
3、可能本身改网页脚本编写时就存在错误。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值