目前流行的JavaScript库的介绍及对比


Posted in Javascript onSeptember 29, 2013

为了简化JavaScript的开发,一些JavaScript程序库诞生了。JavaScript程序库封装了很多预定义的对象和使用函数,能帮助使用者轻松地建立有高难度交互的Web2.0特性的富客户端页面,并且兼容各大浏览器。下面是目前集中流行的JavaScript程序库的介绍和对比。

Prototype

Prototype是最早成型的JavaScript库之一,对JavaScript的内置对象(例如String对象、Array对象等)做了大量的扩展。现在还有很多项目使用Prototype。Prototype可以看做是把很多好的,对JavaScript的内置对象(例如String对象、Array对象等)做了大量的扩展。现在还有很多项目使用Prototype。Prototype可以看做是把很多好的、有用的JavaScript的方法组合在一起而形成的JavaScript库、使用者可以再需要的时候随时将其中的几段代码抽出来放进自己的脚本里。但是由于Prototype成型年代较早,从整体上对面向对象的编程思想把握得不是很到位,导致了其结构的松散。不过现在Prototype也在慢慢改进。

Dojo

Dojo的强大之处在于Dojo提供了很多其他JavaScript库所没有提供的功能。例如离线存储的API、生成图标的组件、基于SVG/VML的矢量图形库和Comet支持等。Dojo是一款非常适合企业级应用的JavaScript库、并且得到了IBM、SUN和BEA等一些大公司的支持。但是Dojo的缺点也是很明显的:学习曲线陡,文档不齐全,最严重的就是API不稳定,每次升级都可能导致已有的程序失效,但是自从Dojo的1.0.0版本出现以后,情况有所好转,Dojo还是一个很有发展潜力的库。

YUI

YUI是由Yahoo公司开发的一套完备的、扩展性良好的富交互网页程序工具集。YUI封装了一系列比较丰富的功能,例如DOM操作和Ajax应用等,同时还包括一个核心的CSS文件。该库本身文档及其完备,代码编写得也非常规范。

Ext JS

Ext JS简称为Ext,原本是对YUI的一个扩展,主要用于创建前端用户界面,如今已经发展到可以利用包括jQuery在内的多种JavaScript框架作为基础库,而Ext作为界面的扩展库来使用。Ext可以用来开发富有华丽外观的富客户端应用,能使B/S应用更加具有活力。但是由于Ext侧重于界面,本身比较臃肿,所用使用之前请想权衡利弊。另外,需要注意的是,Ext并非完全免费,如果用于商业用途,需要付费获得授权许可。

MooTools

MooTools是一套轻量、简洁、模块化和面向对象的JavaScript框架。MooTools的语法几乎跟Prototype一样,但是却提供了更为强大的功能、更好的扩展性和兼容性。其模块化思想非常优秀,核心代码只有8KB。无论用到哪个模块都可即时导入,即使是完整版大小也不超过160KB。MooTools完全彻底的贯彻了面向对象的编程思想,语法简洁直观,文档完善,是一个非常不错的JavaScript库。

Javascript 相关文章推荐
JS对img标签进行优化使用onerror显示默认图像
Apr 24 Javascript
搭建pomelo 开发环境
Jun 24 Javascript
jQuery checkbox选中问题之prop与attr注意点分析
Nov 15 Javascript
javascript事件的传播基础实例讲解(35)
Feb 14 Javascript
jQuery动态生成不规则表格(前后端)
Feb 21 Javascript
js每隔两秒输出数组中的一项(实例)
May 28 Javascript
基于Vue实现支持按周切换的日历
Sep 24 Javascript
深入浅析AngularJs模版与v-bind
Jul 06 Javascript
解决vue的变量在settimeout内部效果失效的问题
Aug 30 Javascript
JS中appendChild追加子节点无效的解决方法
Oct 14 Javascript
基于layui内置模块(element常用元素的操作)
Sep 20 Javascript
js判断复选框是否选中的方法示例【基于jQuery】
Oct 10 jQuery
Javascript实现视频轮播在pc端与移动端均可
Sep 29 #Javascript
从jquery的过滤器.filter()方法想到的
Sep 29 #Javascript
jQuery 借助插件Lavalamp实现导航条动态美化效果
Sep 27 #Javascript
jquery $.each 和for怎么跳出循环终止本次循环
Sep 27 #Javascript
jquery ajax 调用失败的原因示例介绍
Sep 27 #Javascript
写得不错的jquery table鼠标经过变色代码
Sep 27 #Javascript
模拟jQuery中的ready方法及实现按需加载css,js实例代码
Sep 27 #Javascript
You might like
thinkphp 多表 事务详解
2013/06/17 PHP
根据中文裁减字符串函数的php代码
2013/12/03 PHP
PHP 等比例缩放图片详解及实例代码
2016/09/18 PHP
php操作mongodb封装类与用法实例
2018/09/01 PHP
JMenuTab简单使用说明
2008/03/13 Javascript
extjs form textfield的隐藏方法
2008/12/29 Javascript
关于JS中的闭包浅谈
2013/08/23 Javascript
jquery通过扩展select控件实现支持enter或focus选择的方法
2015/11/19 Javascript
BootStrap glyphicons 字体图标实现方法
2016/05/01 Javascript
基于JS实现密码框(password)中显示文字提示功能代码
2016/05/27 Javascript
JS中正则表达式只有3种匹配模式(没有单行模式)详解
2016/07/28 Javascript
字太多用...代替的方法(两种)
2017/03/15 Javascript
JavaScript实现设置默认日期范围为最近40天的方法分析
2017/07/12 Javascript
浅谈微信小程序之官方UI框架we-ui使用教程
2018/08/20 Javascript
微信小程序动态评分展示/五角星展示/半颗星展示/自定义长度展示功能的实现
2020/07/22 Javascript
python模块之StringIO使用示例
2015/04/08 Python
Python中用max()方法求最大值的介绍
2015/05/15 Python
python八大排序算法速度实例对比
2017/12/06 Python
django实现用户登陆功能详解
2017/12/11 Python
python实现冒泡排序算法的两种方法
2018/03/10 Python
python中多层嵌套列表的拆分方法
2018/07/02 Python
对python字典过滤条件的实例详解
2019/01/22 Python
matplotlib绘制多个子图(subplot)的方法
2019/12/03 Python
Python unittest框架操作实例解析
2020/04/13 Python
Python参数传递实现过程及原理详解
2020/05/14 Python
pandas to_excel 添加颜色操作
2020/07/14 Python
Python实现钉钉/企业微信自动打卡的示例代码
2021/02/02 Python
CSS改变网页中鼠标选中文字背景颜色例子
2014/04/23 HTML / CSS
HTML5 Canvas中使用路径描画二阶、三阶贝塞尔曲线
2015/01/01 HTML / CSS
举例详解HTML5中使用JSON格式提交表单
2015/06/16 HTML / CSS
HTML如何让IMG自动适应DIV容器大小的实现方法
2020/02/25 HTML / CSS
Doyoueven官网:澳大利亚健身服饰和配饰品牌
2019/03/24 全球购物
某/etc/fstab文件中的某行如下: /dev/had5 /mnt/dosdata msdos defaults,usrquota 1 2 请解释其含义
2013/04/11 面试题
关于期中考试的反思
2014/02/02 职场文书
法律系毕业生自荐信范文
2014/03/27 职场文书
Python借助with语句实现代码段只执行有限次
2022/03/23 Python