文章目录

  • jQuery的版本
  • 1.X版本的特性
  • jQuery-easyui的兼容

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 的后续或者升级版本,他们是同时更新迭代的。(很多人会误认为 jQuery 2.x 是在 1.x 的版本上有大的升级改动)

1.11.1的继承版本将成为jQuery Compat 3.0。jQuery 2.1.1的继承版本将为jQuery 3.0。

1.X版本的特性

jQuery 1.0(2006年8月)

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

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

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

1.5新版本:
同样的很多函数的性能都提升了,还加了几个重要调整

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程序将自动获得这一功能。

3. 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、可能本身改网页脚本编写时就存在错误。

我们同时也可以对浏览器进行判断来防止不兼容问题,判断是否是IE

function IEVersion() {var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串  var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1; //判断是否IE<11浏览器  var isEdge = userAgent.indexOf("Edge") > -1 && !isIE; //判断是否IE的Edge浏览器  var isIE11 = userAgent.indexOf('Trident') > -1 && userAgent.indexOf("rv:11.0") > -1;if(isIE) {var reIE = new RegExp("MSIE (\\d+\\.\\d+);");reIE.test(userAgent);var fIEVersion = parseFloat(RegExp["$1"]);if(fIEVersion == 7) {return 7;} else if(fIEVersion == 8) {return 8;} else if(fIEVersion == 9) {return 9;} else if(fIEVersion == 10) {return 10;} else {return 6;//IE版本<=7}   } else if(isEdge) {return 'edge';//edge} else if(isIE11) {return 11; //IE11  }else{return -1;//不是ie浏览器}}

jQuery-easyui的兼容

主要easyui和jQuery对IE浏览器的兼容

1、最后支持IE8及以下版本的是JQuery1.9

2、最后支持IE8及以下的Easyui是1.3.2,其对应的是JQuery1.8

如果我们要兼容IE8以及以下的浏览器,最好用版本低一些的
不然容易不兼容报错,例如

会显示你的对象未定义

jQuery版本的区别相关推荐

  1. jquery 入门(jquery是什么/与JavaScript的联系与区别/jquery版本/引包/入口函数)

    1.  为何要学jQuery (1)JS的劣势 (2)jQuery是什么(理解) jQuery是别人帮我们封装好的库. jQuery是JS的一个库,封装了开发过程中常用的功能,能够提高开发效率. JS ...

  2. day05【JQuery框架】HTML引入Jquery、jQuery与JS区别、基本选择器、层级关系选择器、属性选择器、过滤选择器、 对象遍历、Jquery的DOM操作【重点】、Jquery事件绑定

    回顾 1. bom对象window对象三种弹框alert()confirm()prompt()二种定时器一次性:setTimout() --- 通过递归实现循环性循环性:setInterval()lo ...

  3. VS Debug和Release版本的区别

    VS Debug和Release版本的区别 1. 变量. 大家都知道,debug跟release在初始化变量时所做的操作是不同的,debug是将每个字节位都赋成0xcc(注1),而release的赋值 ...

  4. jQuery版本不同及多次引用问题

    jQuery版本在不断更新,许多插件并不能很好地工作在各个版本上,并且发现如果在一个页面中多次引用jQuery将会出现问题,害得我折腾了好久,才发现是重复引用问题. 为了避免重复引用,最好在jQuer ...

  5. mysql版本 时间_【MySQL】MySQL版本时间线和MySQL各版本的区别

    MySQL各版本的区别 https://yq.aliyun.com/articles/607474 http://blog.sina.com.cn/s/blog_62b37bfe0101he5t.ht ...

  6. http几个版本的区别

    http几个版本的区别 http/0.9版本:只有一个命令GET,只支持纯文本内容 http1.0版本: 任何格式的内容都可以发送,这使得互联网不仅可以传输文字,还能传输图像.视频.二进制等文件. 除 ...

  7. 台湾积体电路制造公司(简称为台积电(TSMC))的28nm LP、HPM、HPC、HPC+四种不同处理器工艺版本的区别?

    台湾积体电路制造公司(简称为台积电(TSMC))的28nm LP.HPM.HPC.HPC+四种不同处理器工艺版本的区别? 说起处理器工艺,相信大家都多多少少知道一些,可同样的一种工艺,也会有很多不同版 ...

  8. MSDN、RTM、OEM、VOL四大版本之区别

    MSDN.RTM.OEM.VOL四大版本之区别 MSDN版: MSDN的英文全称为:Microsoft Developer Network(微软开发者网络).MSDN软件是微软公司面向微软软件开发者的 ...

  9. 17个之多!Windows Vista各版本功能区别详解

           Vista 开始全球同步上市,版本达17个之多.                Windows Vista各版本功能区别详解 : http://digi.it.sohu.com/2006 ...

  10. round四舍五入详解--python2与python3版本间区别

    round()方法返回 数值 的小数点四舍五入到n个数字. 语法 以下是round()方法的语法: round( x [, n] ) 参数 x --这是一个数值,表示需要格式化的数值n --这也是一个 ...

最新文章

  1. MultipartResolver实现文件上传功能
  2. python split()方法_秘籍:10个Python字符串处理技巧(附代码)
  3. 部门微服务:基本dao和service代码编写
  4. 揭秘北京2022冬奥会背后的技术
  5. Linux Vim显示行号方法详解
  6. BZOJ 1232 USACO 2008 Nov. 安慰奶牛Cheer
  7. 洛谷P1007 独木桥(贪心)
  8. layUI数据表格可编辑扩展日期框
  9. 简述linux中的passwd结构,51CTO博客-专业IT技术博客创作平台-技术成就梦想
  10. turn.js教程及总结
  11. Windows系统设置定时自动重启服务程序
  12. 联想拯救者Y7000p拆机换压条(轴盖)
  13. 关于 IP 属地的一些科普
  14. 奇异值分解(SVD) --- 线性变换几何意义
  15. java截取视频空间的中间段
  16. Java遍历包中所有类包括jar包(完整转载)
  17. 村庄规划工作底图制作
  18. matlab对于椭圆检测的算法,基于弧段组合的椭圆检测算法研究
  19. 氨基官能化的铜金属有机骨架(Cu-MOF-NH2)|石墨相碳化氮纳米片/ZiF67片层结构复合材料|mof定制材料
  20. php mysql 查看错误_PHP mysql查询语法错误

热门文章

  1. MFC显示位图和显示透明位图
  2. 关闭word 2010时每次都提示:所做更改会影响共用模板Normal.dotm
  3. 遗传算法多维matlab,MATLAB遗传算法
  4. 如何同时分析顺心捷达多个已签收单号的物流信息
  5. 基于python中selenium模块完成百度文库pdf文档下载
  6. SSM+校园网上订餐系统 毕业设计-附源码211510
  7. [War3]Fdf文件详解,简单的UI教程演示 - 魔兽争霸3
  8. 《数据库实验》实验五:数据库编程
  9. 华为服务器装系统怎么选pxe,服务器设置pxe启动
  10. charles(青花瓷)抓包配置mac ios版,详细好用