新版ued体育官网

UED学院移动版

首页 > 脚本技术 > AJaX >

几种JS库的选择与简介

现今流行的JS库各有各的功能,这些功能大致分为以下几类:

I、DOM的访问、遍历和操作;

II、语言扩展、事件处理、AJAX、JSON和XML处理;

III、界面组件;

IV、动画效果。

Dojo(dojotoolkit.com):覆盖了全部四个功能,这个库分为core、dijit、dojox三个部分,可按需要添加。

Prototype(prototypejs.org):它提供了功能I和II。这个库可以说是所有JS库中最流行、应用最广泛的,很多JS库都是建立在它的基础上,而且

Prototype已经被集成到ROR中,据说也可能会成为JavaScript下个版本的语言核心部分。Prototype是我JS编程的必备工具,几乎每个用到JS的页面都会把它加进去。我也是从这个库开始接触面向对象JavaScript的。Prototype社区和邮件列表也非常活跃,时时刻刻都有开发小组中的人在“值班”,我以前碰到过的难题和疑问都在这个社区中得到解决,同时深深感叹于外国程序员的工作效率和热情。

jQuery(jquery.com):是第一个真正突出了方法链作用的JS库,提供了不同于Prototype风格的JavaScript写法。要说功能,也和Prototype差不多,亮点其实还是方法链,这也使得操作DOM时,代码更紧凑而又不影响可读性。这个库现在也非常流行,我因为JavaScript的写作风格原因,还没有深入接触这个库,但初学过jQuery,已经让我感到,它也会象Prototype一样成为我的JS必备工具。

YUI(developer.yahoo.com/yui):初次接触YUI时,感觉到它很大,大到令人望而却步(第一次想在项目中使用它,就是因为它大,吓得我没敢用)。YUI正如其名,主要提供了功能I和III。它主要采用的是传统的JavaScript写作风格,但通过命名空间很好的组织了代码。如果使用YUI而感觉它的命名空间很复杂的话,可以为这些命名空间创建别名对象。这个库可以使你创建丰富的WEB界面,抛开复杂的命名空间,用起来还是很不错的。

Mootools(mootools.net):主要提供了动画(百叶窗、拖拽等)、AJAX等功能,它的一个很有意思的特性是,可同时为多个元素添加动画效果。这个库我只是通过demo觉得很可用。还有就是,它是我第一个接触到的提供压缩格式的JS库。

Script.aculo.us(script.aculo.us):提供了丰富的动画效果和一些界面组件,是最早流行的效果库,使用简单,容易上手,让我这看见Photoshop就头疼的人能轻易的制造出界面特效来。它就是建立在Prototype的基础上。

ExtJS(extjs.com):它原来的基础就是YUI.Ext,如果觉得YUI复杂的话,就用它吧。

还有很多优秀的JS库,但没用过就不敢在这里评价了。

我的选择依据是:

简化JS代码,使代码写起来更漂亮、更易读、更好维护的JS库一般是不可少的,Prototype、jQuery两者选其一就行,看你喜欢哪种风格的写法。什么?都不喜欢,就喜欢传统风格的,那就俩都别用。其实,这两个库真正吸引我的不是AJAX,能解决跨浏览器的问题,才是最最最关键的。Prototype是我最喜爱的,除了Java、Spring、AJAX,它是第四个给我震动最大的“朋友”了。

创建丰富的界面可以选择ExtJS,简单好用,但YUI能提供的似乎更丰富些。

想做动画特效,Script.aculo.us是首选,Mootools能提供的不多(最新版本没看过,不知道啥样了)。
想要功能I-IV全能的,Dojo啊。如果觉得Dojo不能完全满足你,可以考虑其它JS库的组合,但在实际应用中要注意命名冲突的问题。

(责任编辑:uedtech。本文版权归作者所有,转载请注明来自UED学院!)