jQuery 一共分了 1.x、2.x、3.x 这三个大版本。

jQuery 的版本都是不向后兼容的! jQuery 的版本都是不向后兼容的! jQuery 的版本都是不向后兼容的!重要的事情说三遍哈

一、1.x、2.x、3.x 三大系列的区别

1,IE 的支持情况比较

(1)情况分析
  • 1.x版本:兼容ie678,使用最为广泛的,官方只做bug维护,功能不再新增。因此一般项目来说,使用1.x版本就可以了,最终版本:1.12.4

  • 2.x版本:不兼容ie678,很少人使用,官方只做bug维护,功能不再新增。如果不考虑兼容版本低的浏览器可以使用2.x,最终版本:2.2.4

  • 3.x版本:不兼容ie678,只支持最新的浏览器。除非特殊要求,一般不会使用3.x版本的,很多老的jQuery插件不支持这个版本。目前该版本是官方主要更新维护的版本。截至2018年6月13日,最新版本:3.3.1

 
(2)选择建议
  • 如果需要兼容 ie678:只能选择 1.x
  • 如果不需要兼容 ie678:可以选择 2.x、3.x。因为 1.x 中有大部分代码是对老旧浏览器做的兼容,这个就增加了运行的负担,影响了运行效率。

2,新特性比较

(1)2.x 相较于 1.x 没有增加什么新特性,主要是去除了 ie678 的支持,提升了性能,减小了体检。
(2)3.x 相较于之前版本,增加了许多新特性,也改变一些以往的特性。
 

二、具体版本建议

1,版本历史

版本号 发布日期 最新更新 大小(KB) 备注
1.0 2006年8月26日     第一个稳定版本
1.1 2007年1月14日      
1.2 2007年9月10日 1.2.6 54  
1.3 2009年1月14日 1.3.2 55.9 将 Sizzle 选择器引擎引入核心
1.4 2010年1月14日 1.4.4 76  
1.5 2011年1月31日 1.5.2 83 延迟回调管理,ajax 模块重写
1.6 2011年5月3日 1.6.4 89 显著改善 attr() 与 val() 的性能
1.7 2011年11月3日 1.7.2 (2012年3月21日) 92 新的事件 API:.on() 和 .off(),而旧的 API 仍然支持。
1.8 2012年8月9日 1.8.3 (2012年11月13日) 91.4 重写 Sizzle 选择器引擎,改善动画和 $(html, props) 的灵活性。
1.9 2013年1月15日 1.9.1 (2013年2月4日) 90 移除弃用接口,清理代码
1.10 2013年5月24日 1.10.2 (2013年7月3日) 91 修复了 1.9 和 2.0 beta 版本周期的 bug 和差异
1.11 2014年1月24日 1.11.3 (2015年4月28日) 95.9  
1.12 2016年1月8日 1.12.4 (2016年5月20日) 95  
2.0 2013年4月18日 2.0.3 (2013年7月3日) 81.1 除去对 IE 6-8 的支持以提高性能,并降低文件大小
2.1 2014年1月24日 2.1.4 (2015年4月28日) 82.4  
2.2 2016年1月8日 2.2.4 (2016年5月20日) 85.6  
3.0 2016年6月9日 3.0.0 (2016年6月9日) 86.3 Deferred、$.ajax、$.when 支持 Promises/A+,令 .data() 兼容HTML5
3.1 2016年7月7日 3.1.1 (2016年9月23日) 86.3 加入 jQuery.readyException,ready handler 错误现在不会不显示了
3.2 2017年3月16日 3.2.1 (2017年3月20日) 84.6 增加了对检索<template>元素内容的支持,弃用了多种旧方法。
3.3 2018年1月19日 3.3.1 (2018年1月20日) 84.8 弃用旧函数,函数现在可以接受类,并支持其写成数组格式。
 

2,1.x 常用版本

  • 1.4.2:稳定性和兼容性都很出色,插件最多,但性能不如下面后面的几个版本。
  • 1.7.2:性能提升,插件第二多,ajax 和 attr 等 api 有少许修改。
  • 1.8.3:最后一个支持 IE6 的稳定版
  • 1.9.1:开始移除了不少方法,事件绑定推荐使用 on 方法一个代替所有的。
  • 1.12.4:1.x 时代最后一个稳定版本,仅支持 IE8,不支持 IE6/7。
 

3,2.x、3.x 版本

除非有特殊要求(比如面向移动端),一般情况下这两大版本使用人的确很少:
  • 2.x 最后一个稳定版本:2.2.4
  • 3.x 最新版本:3.3.1
 
 
 
 
 
 

jQuery - 不同版本的差异對比的更多相关文章

  1. [转]jQuery不同版本区别

    原文转载自csdn:http://blog.csdn.net/u010167032/article/details/23666145 了解不同版本之间的差异,与助于选择适合自己项目的版本. ⒈4重要新 ...

  2. git日志输出格式及两个版本之间差异列表

    查看commit id git log --pretty=format:"%h" git log --pretty=format:"%H" 获取两个版本间差异的 ...

  3. jquery各版本区别

     jquery版本区别:          1.3一般功能够 1.4.2一般功能够而且稳定 1.7+比较新特性 2不支持老IE 兼容的话最好选 1.x.稳定性就用1.7或者1.4,其中1.4的体积相对 ...

  4. Android USER 版本与ENG 版本的差异--MTK官方解释

     分类: Android(4)  Description]Android USER 版本与ENG 版本的差异 [Keyword]USER ENG user eng 用户版本 工程版本 差异 [Solu ...

  5. SSIM(结构相似度算法)不同实现版本的差异

    前言 最近用ssim测试图片画质损伤时,发现matlab自带ssim与之前一直使用的ssim计算得分有差异,故和同事开始确定差异所在. 不同的SSIM版本 这里提到不同的ssim版本主要基于matla ...

  6. Android USER 版本与ENG 版本的差异

    Android USER 版本与ENG 版本的差异 [Keyword] USER ENG user eng 用户版本 工程版本 差异 [Solution] Google 官方描述: USER/USER ...

  7. Ubuntu,kubuntu与xubuntu的差别 Ubuntu各版本主要差异

    Ubuntu各版本主要差异 Ubuntu官方考虑到使用者的不同需求,提供各种不同的发行版.虽然发布了几种版本的Ubuntu系统,但是它们的核心系统是一模一样的.可以这么说不同发行版的Ubuntu的区别 ...

  8. 使用svn diff的-r参数的来比较任意两个版本的差异

    1 svn diff的用法1.1 对比当前本地的工作拷贝文件(working copy)和缓存在.svn下的版本库文件的区别 svn diff 1.2 对比当前本地的工作拷贝文件(working co ...

  9. jquery不同版本导致的checkbox设置了属性,但是没有选中效果

    由于本人好久不做B/S了,今天同学问我个问题才发现了jquery版本还是存在差异的,今天写的就是关于获取checkbox属性的方式(可能不应该叫属性了其实,后面就知道了). 看下面的代码截图吧 < ...

  10. Jquery各个版本的区别

    一: 一般原则是越新越好,jQuery版本是在不断进步和发展的,最新版是当时最高技术水平,也是最先进的技术理念. 但个人的角度来看.是最新版本x.x.0的上一版本最好.比如说1.10.0版,上一版本是 ...

随机推荐

  1. Python 利用argparse模块实现脚本命令行参数解析

    利用argparse模块实现脚本命令行参数解析 By:授客 QQ:1033553122 #代码实践1 study.py内容如下 #!/usr/bin/env python # -*- coding:u ...

  2. Linux Kernel CFI机制简介及测试禁用

    PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 环境说明   无 前言   当我们为android移植linux ...

  3. Jmeter函数助手23-intSum

    intSum函数可用于计算两个或多个整数值的和. 要添加的第一个整数:必填,填入整数,不能为小数 要添加的第二个整数:必填,填入整数,不能为小数 存储结果的变量名(可选) 1. intSum函数求多个 ...

  4. Jmeter函数助手17-StringtoFile

    StringtoFile函数用于将字符串写入文件 Path to file (absolute):将写入的文件路径 String to write:要写入的字符 Append to file (tru ...

  5. 【YAML】非标记语言的标记语言

    什么是YAML? YAML是"YAML Ain't a Markup Language"(YAML不是一种标记语言)的递归缩写. 在开发的这种语言时,YAML 的意思其实是:&qu ...

  6. 【Spring Data JPA】10 对象导航查询

    定义: 查询一个记录时,也就是查询这个对象,通过这个对象查询他的关联对象 [说白了不就是从我们设置好的集合中获取不就完了吗] 环境搭建: INSERT INTO `jpa`.`cst_customer ...

  7. 网络文件系统nfs服务端配置客户端权限时的demo例子

    参考: https://www.cnblogs.com/devilmaycry812839668/p/15127755.html 由上面的参考资料我们可以知道在nfs服务端进行配置时对于客户端的权限设 ...

  8. 如何在vscode中支持python的annotation(注解,type checking)——通过设置pylance参数实现python注解的type checking

    pylance是vscode的python官方插件的捆绑体,如何在vscode中安装python插件这里不介绍了.pylance的默认设置是不支持python的annotation的,需要我们手动设置 ...

  9. 01-canvas体验

    1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="U ...

  10. MPTCP(二):MPTCP版本说明

    MPTCP版本说明 简介 参考链接 https://github.com/multipath-tcp/mptcp_net-next/wiki MPTCP的两个版本 MPTCPv0: 在5.6之前的li ...