1.2加入jQuery

1.2 加入jQuery

1.2.1 jQuery简介

jQuery是继Prototype之后又一个优秀的JavaScript库,是一个由John Resig创建于2006年1月的开源项目。现在的jQuery团队主要包括核心库、UI、插件和jQuery Mobile等开发人员以及推广和网站设计、维护人员。

jQuery凭借简洁的语法和跨平台的兼容性,极大地简化了JavaScript开发人员遍历HTML文档、操作 DOM、处理事件、执行动画和开发 Ajax的操作。其独特而又优雅的代码风格改变了JavaScript 程序员的设计思路和编写程序的方式。总之,无论是网页设计师、后台开发者、业余爱好者还是项目管理者,也无论是JavaScript初学者还是JavaScript高手,都有足够多的理由去学习jQuery。

1.2.2 jQuery的优势

jQuery强调的理念是写得少,做得多(write less,do more)。jQuery独特的选择器、链式操作、事件处理机制和封装完善的Ajax都是其他JavaScript库望尘莫及的。概括起来,jQuery有以下优势。

(1)轻量级。jQuery 非常轻巧,采用 UglifyJS(https://github.com/mishoo/UglifyJS)压缩后,大小保持在30KB左右。

注意:为了使jQuery变得轻巧,jQuery一直在寻求最好的压缩工具,所以jQuery的压缩工具也一直在变化,从最早采用Dean Edwards编写的Packer(http://dean.edwards.name/packer/ ),到后来使用Google推出的Closure Compiler进行压缩,最后到目前使用UglifyJS进行压缩。

(2)强大的选择器。jQuery允许开发者使用从CSS 1到CSS 3几乎所有的选择器,以及jQuery独创的高级而复杂的选择器。另外还可以加入插件使其支持XPath选择器,甚至开发者可以编写属于自己的选择器。由于jQuery支持选择器这一特性,因此有一定CSS经验的开发人员可以很容易地切入到jQuery的学习中来。第2章将详细讲解jQuery中强大的选择器。

(3)出色的DOM操作的封装。jQuery封装了大量常用的DOM操作,使开发者在编写DOM操作相关程序的时候能够得心应手。jQuery 轻松地完成各种原本非常复杂的操作,让 JavaScript新手也能写出出色的程序。第3章将重点介绍jQuery中的DOM操作。

(4)可靠的事件处理机制。jQuery的事件处理机制吸收了JavaScript专家DeanEdwards编写的事件处理函数的精华,使得 jQuery 在处理事件绑定的时候相当可靠。在预留退路(graceful degradation)、循序渐进以及非入侵式(Unobtrusive)编程思想方面,jQuery也做得非常不错。第4章将重点介绍jQuery中的事件处理。

(5)完善的Ajax。jQuery将所有的Ajax操作封装到一个函数$.ajax()里,使得开发者处理Ajax的时候能够专心处理业务逻辑而无需关心复杂的浏览器兼容性和XMLHttpRequest对象的创建和使用的问题。第6章将重点介绍jQuery中的Ajax处理。

(6)不污染顶级变量。jQuery只建立一个名为jQuery的对象,其所有的函数方法都在这个对象之下。其别名$也可以随时交出控制权,绝对不会污染其他的对象。该特性使jQuery可以与其他JavaScript库共存,在项目中放心地引用而不需要考虑到后期可能的冲突。

(7)出色的浏览器兼容性。作为一个流行的JavaScript库,浏览器的兼容性是必须具备的条件之一。jQuery能够在IE 6.0+、FF 3.6+、Safari 5.0+、Opera和Chrome等浏览器下正常运行。jQuery同时修复了一些浏览器之间的差异,使开发者不必在开展项目前建立浏览器兼容库。

(8)链式操作方式。jQuery 中最有特色的莫过于它的链式操作方式—即对发生在同一个jQuery 对象上的一组动作,可以直接连写而无需重复获取对象。这一特点使 jQuery的代码无比优雅。在第1.3.3 小节中,将要讨论代码风格的问题,从最开始就培养良好的编程习惯,将受益无穷。

(9)隐式迭代。当用jQuery找到带有“.myClass”类的全部元素,然后隐藏它们时,无需循环遍历每一个返回的元素。相反,jQuery里的方法都被设计成自动操作对象集合,而不是单独的对象,这使得大量的循环结构变得不再必要,从而大幅地减少了代码量。
azzw

(10)行为层与结构层的分离。开发者可以使用jQuery选择器选中元素,然后直接给元素添加事件。这种将行为层与结构层完全分离的思想,可以使jQuery开发人员和HTML或其他页面开发人员各司其职,摆脱过去开发冲突或个人单干的开发模式。同时,后期维护也非常方便,不需要在HTML代码中寻找某些函数和重复修改HTML代码。

(11)丰富的插件支持。jQuery的易扩展性,吸引了来自全球的开发者来编写jQuery的扩展插件。目前已经有成百上千的官方插件支持,而且还不断有新插件面世。第7章将介绍目前流行的几款插件并指导大家编写自己的插件。

(12)完善的文档。jQuery的文档非常丰富,不管是英文文档,还是中文文档。我们也在长期更新着jQuery的中文文档。

(13)开源。jQuery是一个开源的产品,任何人都可以自由地使用并提出改进意见。

下面就一起开始我们的jQuery之旅吧。