1.2 jQuery为什么如此出色

1.2 jQuery为什么如此出色

jQuery策略

jQuery采用了如下策略。

  1. 利用CSS的优势。通过将查找页面元素的机制构建于CSS选择符之上,jQuery继承了简明清晰地表达文档结构的方式。由于进行专业Web开发的一个必要条件是掌握CSS语法,因而jQuery成为希望向页面中添加行为的设计者们的切入点。
  2. 支持扩展。为了避免特性蠕变(feature creep)①,jQuery将特殊情况下使用的工具归入插件当中。创建新插件的方法很简单,而且拥有完备的文档说明,这促进了大量有创意且有实用价值的模块的开发。甚至在下载的基本jQuery库文件当中,多数特性在内部都是通过插件架构实现的。而且,如有必要,可以移除这些内部插件,从而生成更小的库文件.
  3. 抽象浏览器不一致性Web开发领域中一个令人遗憾的事实是,每种浏览器对颁布的标准都有自己的一套不太一致的实现方案。 任何Web应用程序中都会包含一个用于处理这些平台间特性差异的重要组成部分。虽然不断发展的浏览器前景,使得为某些高级特性提供浏览器中立的完美的基础代码(code base)变得不大可能,但jQuery添加一个抽象层来标准化常见的任务,从而有效地减少了代码量,同时,也极大地简化了这些任务。
  4. 总是面向集合。当我们指示jQuery“找到带有collapsible类的全部元素,然后隐藏它们”时,不需要循环遍历每一个返回的元素。相反,.hide()之类的方法被设计成自动操作对象集合,而不是单独的对象。利用这种称作隐式迭代(implicit iteration)的技术,就可以抛弃那些臃肿的循环结构,从而大幅地减少代码量。
  5. 将多重操作集于一行。为了避免过度使用临时变量或不必要的代码重复,jQuery在其多数方法中采用了一种称作连缀(chaining)②的编程模式。这种模式意味着基于一个对象进行的多数操作的结果,都会返回这个对象自身,以便为该对象应用下一次操作。

这些策略不仅保证了jQuery包的小型化,也为我们使用这个库创建简洁的自定义代码提供了技术保障。
jQuery库的适用性一方面要归因于其设计理念,另一方面则得益于围绕这个开源项目涌现出的活跃社区的促进作用。jQuery用户聚集到一起,不仅会讨论插件的开发,也会讨论如何增强核心库。用户和开发人员也对jQuery的官方文档给予了持续的帮助,该文档的地址为http://api.jquery.com
jQueryWeb开发人员提供了灵活且健壮的系统,而且它对所有人都是免费的。这个开源项目遵循MIT License发布,任何站点和专有的软件都可以自由使用它。如果项目需要,还可以基于GNU Public License重新发布它,以便与其他基于GNU许可的开源项目整合。

脚注说明

① 术语feature creep(特性蠕变)也有人译为特性蔓延,指软件应用开发中过分强调新的功能以至于损害了其他的设计目标,例如简洁性、轻巧性、稳定性及错误出现率等。
② 术语chaining(连缀)也可译为链接,但为避免与人们耳熟能详的超链接混淆(如常见的”单击链接”等),所以才译为更贴切的连缀。