Jquery($第一天)【历史】
一.什么是jQuery
jQuery是一个JavaScript库,它通过封装原生的JavaScript函数得到一整套定义好的方
法。它的作者是John Resig,于2006年创建的一个开源项目,随着越来越多开发者的加入,
jQuery已经集成了JavaScript、CSS、DOM和Ajax于一体的强大功能。它可以用最少的代码,
完成更多复杂而困难的功能,从而得到了开发者的青睐。
主旨:以更少的代码、实现更多的功能
二.学习jQuery的条件
jQuery是JavaScript库,所以jQuery在使用上要比原生的JavaScript要简单,但是对于
网页编程来说,有些通用的基础知识是必备的:
1.XHTML或HTML5(含CSS,网页必备的基础技术,XHTML已完结90课);
2.JavaScript(虽然jQuery使用比JavaScript简单,但各种语法来自JavaScript,只要掌
握已出课程的第一季149课即可,并不需要完全精通,只要理解语法和项目中简单的用法即
可。);
3.服务器语言如:PHP(jQuery属于前端技术,那和后端技术是相辅相成、互相呼应的,
而PHP课程目前出到第四季,而jQuery只需要PHP第一季136课的基础即可。);
三.jQuery 的版本
从2005 年8 月开始,进入公共开发阶段,随之而来的新框架于2006 年1 月14 日正
式以jQuery 的名称发布。
2006 年8 月发布了jQuery1.0,第一个稳定版本,具有对CSS 选择符、事件处理和
Ajax 交互的支持。
2007 年1 月发布了jQuery1.1,极大的简化API。合并了许多较少使用的方法。
2007 年7 月发布了jQuery1.1.3,优化了jQuery 选择符引擎执行的速度。
2007 年9 月发布了jQuery1.2,去掉了XPath 选择器,新增了命名空间事件。
2008 年5 月发布了jQuery1.2.6,引入了Dimensions 插件到核心库中。
2009 年1 月发布了jQuery1.3,使用了全新的选择符引擎Sizzle,性能进一步提升。
2010 年1 月发布了jQuery1.4,进行了一次大规模更新,提供了DOM 操作,增加了很
多新的方法或是增强了原有的方法。
2010 年2 月发布了jQuery1.4.2,添加了.delegate()和.undelegate()两个新方法,提升
了灵活性和浏览器一致性,对事件系统进行了升级。
2011 年1 月发布了jQuery1.5,重写了AJAX 组件,增强了扩展性和性能。
2011 年5 月发布了jQuery1.6,重写了Attribute 组件,引入了新对象和方法。
2011 年11 月发布了jQuery1.7,引入了.on()和.off()简介的API 解决事件绑定及委托容
易混淆的问题。
2012 年3 月发布了jQuery1.7.2,进行一些优化和升级。
2012 年7 月发布了jQuery1.8,8 月发布了1.8.1,9 月发布了1.8.2,重写了选择符引
擎,修复了一些问题。
2013 年1 月发布了jQuery1.9,CSS 的多属性设置,增强了CSS3。
2013 年5 月发布了jQuery1.10,增加了一些功能。
2013 年4 月发布了jQuery2.0,5 月发布了jQuery2.0.2,一个重大更新版本,不在支
持IE6/7/8,体积更小,速度更快。
在制作这套课程的时候,我们最新的中文版的API 文档是1.8 版本的,有在线和离线两
种手段查阅:
1.在线的可以访问:http://t.mb5u.com/jquery/
2.离线的AP 文档将打包提供给大家
3.如果要看最新的文档,英文版的:http://api.jquery.com/ 看不懂可以打开谷歌翻译,虽
然不是特别准。
关于版本学习的问题:
版本的版本号升级主要有三种:第一种是大版本升级,比如1.x.x 升级到2.x.x,这种升
级规模是最大的,改动的地方是最多的,周期也是最长的,jQuery 从1.x.x 到2.x.x 用了7
年。第二种是小版本更新,比如1.7 升级到1.8,改动适中,增加或减少了一些功能,一般
周期半年到一年左右。第三种是微版本更新,比如1.8.1 升级到1.8.2,修复一些bug 或错误
之类。
版本的内容升级主要也有三种:第一种是核心库的升级,比如优化选择符、优化DOM
或者AJAX 等;这种升级不影响开发者的使用。第二种是功能性的升级,比如剔除一些过
时的方法、新增或增强一些方法等等;这种升级需要了解和学习。第三种就是BUG 修复之
类的升级,对开发者使用没有影响。
学习者有一种担忧,比如学了1.3 版本的jQuery,那么以后升级新版本是不是还需要重
学?没必要,因为并不是每次升级一个版本都会增加或剔除功能的,一半左右都是内部优化,
升级到新版本并不需要任何学习成本。就算在新的版本增加了一些功能,只需要几分钟了解
一下即可使用,无需清零之前的知识,只需后续累加。当然,在早期的jQuery 版本都创建
了最常用的功能,而新版本中增加的功能,也不是最常用的,无需立即学习,立马用起。
四.jQuery 的功能和优势
jQuery 作为JavaScript 封装的库,他的目的就是为了简化开发者使用JavaScript。主要
功能有以下几点:
1.像CSS 那样访问和操作DOM
2.修改CSS 控制页面外观
3.简化JavaScript 代码操作
4.事件处理更加容易
5.各种动画效果使用方便
6.让Ajax 技术更加完美
7.基于jQuery 大量插件
8.自行扩展功能插件
jQuery 最大的优势,就是特别的方便。比如模仿CSS 获取DOM,比原生的JavaScript
要方便太多。并且在多个CSS 设置上的集中处理非常舒服,而最常用的CSS 功能又封装到
单独的方法,感觉非常有心。最重要的是jQuery 的代码兼容性非常好,你不需要总是头疼
着考虑不同浏览器的兼容问题。
五.其他JavaScript 库
目前除了jQuery,还有5 个库较为流行,他们分别是YUI、Prototype、Mootools、Dojo
和ExtJS。
YUI,是雅虎公司开发的一套完备的、扩展性良好的富交互网页工具集。
Prototype,是最早成型的JavaScript 库之一,对JavaScript 内置对象做了大量的扩展。
Dojo,Dojo 强大之处在于提供了其他库没有的功能。离线存储、图标组件等等。
Mootools,轻量、简洁、模块化和面向对象的JavaScript 框架。
ExtJS,简称Ext,原本是对YUI 的一个扩展,主要创建前端用户界面。(付费的)
六.是否兼容IE 低版本
这次jQuery 发布了大版本2.x.x,完全放弃兼容IE6/7/8。不单单如此,很多国际上的大
型站点也开始逐步不再支持IE6/7/8。但对于国内而言,比较大型的网站最多只是抛弃IE6,
或者部分功能不支持IE6 的警示框,还没可能一下子把IE6/7/8 全面抛弃。
Jquery($第一天)【历史】的更多相关文章
- 大型网站都喜欢把js写在html中的真正原因
相信经常观察大站的朋友都会发现,他们都把CSS写在HTML页面里,一个页面的或者多个页面的背景图片,都集成到一张图片里,他们有的JS文件,也写到页面里了……也许你会迷惑,现在到处讲页面的优化,不都是要 ...
- [03]HTML基础之行内标签
1.<ruby>标签 显示东亚字符的发音(如中文,日文等),与<rp>,<rt>标签搭配. //<ruby>为单个发音字符的容器,<rp>为 ...
- 《Entity Framework 6 Recipes》翻译系列 (1) -----第一章 开始使用实体框架之历史和框架简述
微软的Entity Framework 受到越来越多人的关注和使用,Entity Framework7.0版本也即将发行.虽然已经开源,可遗憾的是,国内没有关于它的书籍,更不用说好书了,可能是因为EF ...
- 第一章 MYSQL的架构和历史
在读第一章的过程中,整理出来了一些重要的概念. 锁粒度 表锁(服务器实现,忽略存储引擎). 行锁(存储引擎实现,服务器没有实现). 事务的ACID概念 原子性(要么全部成功,要么全部回滚). 一致性 ...
- (李南江jQuery+Ajax)第一章:初识jQuery
第一章:初识jQuery 一.原生的JS与jQuery的区别 <!DOCTYPE html> <html lang="en"> <head> & ...
- 第一章-硬件组成及linux发展历史(1)
一.服务器与计算机的组成? 计算机组成主要有:CPU.硬盘.内存.电源.显示器.鼠标.键盘 服务器组成主要有:CPU.硬盘.内存.电源.RAID卡.远程控制卡 CPU: 即:中央处理器,是一块超大规模 ...
- Linux/Unix系统编程手册 第一章:历史和标准
Unix的开发不受控于某一个厂商或者组织,是由诸多商业和非商业团体共同贡献进行演化的.这导致两个结果:一是Unix集多种特性于一身,二是由于参与者众多,随着时间推移,Unix实现方式逐渐趋于分裂. 由 ...
- 第一章:MySQL架构和历史
1.MySQL逻辑架构 MySQL存储引擎架构:将查询处理以及其他任务系统和数据的存储处理分离开来,这样做的好处在于可以根据需要灵活选择存储引擎. 第一层架构 -- 连接处理.授权认证.安全等. 第二 ...
- (第一篇)linux简介与发展历史以及软件的安装
1.Linux操作系统基本结构介绍: 操作系统: 英文名称Operating System,简称OS,是计算机系统中必不可少的基础系统软件,它是应用程序运行以及用户操作必备的基础环境支撑,是计算机系统 ...
随机推荐
- SDL 在指定窗口中绘图
SDL默认会自动创建绘图窗口,可以通过设置环境变量,让其在指定窗口绘图.代码如下: [cpp] view plaincopyprint? char sdl_var[64]; sprintf(sdl_v ...
- 如何用python和苹果Turicreate学习框架来识别图像?
大多数人听到深度学习,都会望而却步,因为会觉得很难,在这个人工智能飞速进步的时代,我也来抓一下时代的尾巴~ 两周前,我开始接触到python和Turicreate框架,经过不懈的努力,终于有所收获,特 ...
- 通过smtp直接发送邮件
/// <param name="fromEmail">发件人的邮箱</param> /// <param name="toEmail&qu ...
- 版本控制-Git对象
Git对象 版本控制在于文件的控制,git的控制方法在于为每个文件生成(key,object)的结构.git利用sha-1加密算法,对每一个文件生成一个唯一的字符序列(明文大小不超过2^64位,对于普 ...
- python中Django 使用方法简述
Django是由Python写成的免费而且开源的Web应用框架--一堆零件的组成,可以帮助我们轻松的开发网站.这些零件都包括常用的:登录(注册,登入,登出),网站后台管理,表单,文件上传等.可以帮助我 ...
- eclipse中Maven项目pom.xml报错:com.thoughtworks.xstream.io.HierarchicalStreamDriver
eclipse中创建Maven项目时 pom.xml报错:com.thoughtworks.xstream.io.HierarchicalStreamDriver 解决方案1.在pom文件中加入mav ...
- mysql在win10下的卸载
转自http://blog.csdn.net/sxingming/article/details/52601250 本文介绍,在Windows10系统下,如何彻底删除卸载MySQL... 1> ...
- Java遍历二叉树深度宽度
节点数据结构 class TreeNode { TreeNode left = null; TreeNode right = null; } 最大深度,基本思路是:使用递归,分别求出左子树的深度.右子 ...
- 建立简单的Hash table(哈希表)by C language
#define SIZE 1000 //定义Hash table的初始大小 struct HashArray { int key; int count; struct HashArray* next; ...
- NET Core2.0 Memcached踩坑,基于EnyimMemcachedCore整理MemcachedHelper帮助类。
DotNetCore2.0下使用memcached缓存. Memcached目前微软暂未支持,暂只支持Redis,由于项目历史原因,先用博客园开源项目EnyimMemcachedCore,后续用到的时 ...