JavaScript库可以帮助我们跨越浏览器差异的鸿沟,并对复杂的浏览器功能提供更为简便的访问方式。程序库有两种形式:通用库和专用库。通用JavaScript库提供了对常见浏览器功能的访问,可以作为网站或者Web应用的基础。专用库则只做特定的事,仅用于网站或者Web应用的某些部分。
通用库
通用JavaScript库提供横跨几个主题的功能。所有的通用库都尝试通过使用新API包装常见功能来统一浏览器的接口、减少实现差异。某些API看上去与原生功能很相似,而另一些则完全不同。通用库一般提供与DOM交互的功能、支持Ajax、同时还有一些协助常见任务的工具方法。
YUI
YUI是一个免费的开源JavaScript和CSS库,用于构建丰富的交互式Web应用程序。
YUI的轻量级的核心和模块化架构使其可扩展性,快速和可靠。YUI由雅虎的前端工程师创建,它服务于世界上许多主流网站。
Prototype
Prototype是一个提供了常见任务的API的开源库。最初是针对Ruby on Rails框架中的使用而开发的,Prototype是类驱动的,旨在为JavaScript提供类定义和继承。因此,Prototype提供了很多类,用于将常见或复杂功能封装为简单的API调用。Prototype只有一个单独的文件,可以很容易地放入任意页面。它是由Sam Stephenson撰写并维护的。
jQuery
jQuery是一个给JavaScript提供了函数式编程接口的开源库。它是一个完整的库,其核心是构建于CSS选择器上的,用来操作DOM元素。通过链式调用,jQuery代码看上去更像是对于应该发生什么的描述而不是JavaScript代码。这种代码风格在设计师和原型制作人中非常流行。jQuery是由John Resig撰写并维护的。
MooTools
MooTools是一个为了精简和优化而设计的开源库,它为内置JavaScript对象添加了各种方法,以通过接近的接口提供新功能,或者直接提供新的对象。MooTools的短小精悍受到一些Web开发者的青睐。
Underscore.js
Underscore一个JavaScript实用库,提供了一整套函数式编程的实用功能,但是没有扩展任何JavaScript内置对象。它是这个问题的答案:“如果我在一个空白的HTML页面前坐下, 并希望立即开始工作, 我需要什么?“…它弥补了部分jQuery没有实现的功能,提供了操作对象、数组、函数和其他JavaScript数据类型的更多的低级功能,同时又是Backbone.js必不可少的部分。
互联网应用库
互联网应用库是针对于简化完整的Web应用开发而设计的。它们并不提供应用问题的小块组件,而是提供了快速应用开发的整个概念框架。虽然这些库也可能提供一些底层功能,但它们的目标是帮助用户快速开发Web应用。
Backbone.js
Backbone.js是构建于Underscore.js基础之上的一个迷你MVC开源库,它针对于单页(SPI)应用进行优化,让你能够随着应用状态变化方便地更新页面的任意部分。
其中模型(models)用于绑定键值数据和自定义事件;集合(collections)附有可枚举函数的丰富API;视图(views)可以声明事件处理函数,并通过RESTful JSON接口连接到应用程序。
React.js
React.js是用于构建模块化开发的一个js库。