jQuery的优势

时间:2024-11-19 07:28:54

目录

导语:

简介:

jQuery的优势

jQuery内容


导语:

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

简介:

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

jQuery的优势

jQuery强调的理念是写的少做的多。jQuery独特的选择器、链式操作、事件处理机制和封装完善的Ajax都是其他JavaScript库望尘莫及的。概括起来,jQuery有以下优势:
1、轻量级; jQuery非常轻巧,采用UglifyJS 压缩后,大小保持在30kb左右;

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

2、强大的选择器; jQuery允许开发者使用从CSS1到CSS3 几乎所有的选择器,以及jQuery独创的高级而复杂的选择器。另外还可以加入插件使其支持XPath选择器,甚至开发者可以编写属于自己的选择器。由于jQuery 支持选择器这一特性,因此有一定CSS经验的开发人员可以很容易地切入到jQuery的学习中;
3、出色的DOM操作的封装; jQuery封装了大量的常用的DOM操作,使开发者在编写DOM操作相关程序的时候能够得心应手。jQuery轻松地完成各种原本非常复杂的操作,让JavaScript新手也能写出出色的程序;
4、可靠的事件处理机制; jQuery的事件处理机制吸收了JavaScript专家Dean Edwards编写的事件函数的精华,使得jQuery在处理事件绑定的时候相当可靠。在预留退路(graceful degradation)、循序渐进以及非入侵式(Unobtrusive)编程思想方面。jQuery也做的非常不错;
5、完善的Ajax;** jQuery将所有的Ajax操作封装到一个函数 $.ajax() 里,使得开发者处理Ajax的时候能够专心处理业务逻辑而无需关心复杂的浏览器兼容性和XMLHttpRequest对象的创建和使用的问题;
6、不污染*变量; jQuery只建立一个名为jQuery的对象,其所有的函数方法都在这个对象之下。其别名$也可以随时交出控制权,绝对不会污染其他的对象。该特性使jQuery可以与其他JavaScript库共存,在项目可以放心地引用而不需要考虑到后期可能的冲突;
7、出色的浏览器兼容性; 作为一个流行的JavaScript库,浏览器的兼容性是必须具备的条件之一,jQuery能够在IE 6.0+、FF 3.6+、Safari 5.0+、Opera 和 Chrome等浏览器下正常运行,jQuery同时修复了一些浏览器之间的差异,使开发者不必在开展项目前建立浏览器兼容库;
8、链式操作方式;** jQuery中最有特色的莫过于它的链式操作方式--即对发生在同一个jQuery对象上的一组动作,可以直接连写而无需重复获取对象,这一特点使jQuery的代码无比优雅;
9、隐式迭代; 当用jQuery找到带 “.myClass” 类的全部元素,然后隐藏他们时,无需循环遍历每一个返回的元素。相反,jQuery里的方法都被设计成自动操作对象集合,而不是单独的对象,这使得大量的循环结构变得不再必要,从而大幅减少了代码量;
10、行为层与结构层的分离; 开发者可以使用jQuery选择器选中元素,然后直接给元素添加事件,这种将行为层与结构层完全分离的思想,可以使jQuery开发人员和HTML或其他页面开发人员各司其职,摆脱过去开发冲突或个人单干的开发模式。同时,后期维护也非常方便,不需要在HTML代码中寻找某些函数和重复修改HTML代码;
11、丰富的插件支持; jQuery的易扩展性;
12、完善的文档; jQuery的文档非常丰富,不管是英文文档还是中文文档;

jQuery内容

  1. 选择器
  2. 筛选器
  3. 样式操作
  4. 文本操作
  5. 属性操作
  6. 文档处理
  7. 事件
  8. 动画效果
  9. 插件
  10. each、data、Ajax