JavaScript框架是什么?怎样才能叫做框架?


Posted in Javascript onJuly 01, 2015

刚初学js时,总会听到关于框架的一些事情。等学完JQ后我才知道什么是框架。一下是转载的一篇文章,希望对还迷茫的童鞋们有点帮助。

什么是 JavaScript 框架?

JavaScript 本身就是一种功能强大的语言,您不需要额外的框架就可创建富互联网应用程序(RIA)。然而使用 JavaScript 并不是件容易的事,主要是由于支持多个 Web 浏览器产生的复杂性。与 HTML 和 CSS一样,不同的浏览器有不同的 JavaScript 实现。让 JavaScript 代码实现跨浏览器兼容简直是个噩梦。

JavaScript 框架或库是一组能轻松生成跨浏览器兼容的 JavaScript 代码的工具和函数。每一个库都在众多流行的 Web 浏览器的现代版本上进行了可靠的测试,因此,您可以放心地使用这些框架,您的基于 JavaScript 的 RIA 将会在不同浏览器和平台上以类似的方式工作。

除了解决跨浏览器问题,使用 JavaScript 框架可以更容易地编写检索、遍历、操作 DOM 元素的代码。它们不仅提供获取 DOM 元素引用的快捷函数,而且还允许 DOM 遍历函数以菊花链(daisy-chaining)方式查找任意深度的父元素、子元素、兄弟元素。最后,框架还提供一系列函数来更轻松地操作这些对象,可以改变、添加或删除内容本身;或者使用 CSS 样式类来改变元素的外观。

框架的另一重要特性是其改进的事件处理支持。由于不同浏览器的实现方式各不相同,跨浏览器事件处理将会非常艰难。因此 JavaScript 框架通常封装浏览器事件,并提供一组有用的跨浏览器兼容的函数来进行处理。有些框架还会提供一组标准键盘代码来表示基于键盘的事件(如按下 Escape 键、Return 键、光标键,等等)。

所有这些特性都非常有用,但 JavaScript 框架有一个特性对于它最近的流行非常重要 — 支持 Ajax。与 JavaScript 的其他许多方面一样,每个 Web 浏览器往往以不同方式支持 Ajax,这使得以一种在所有 Web 浏览器中都受支持的方式处理 Ajax 变得十分复杂。几乎所有 JavaScript 框架都包含某种形式的 Ajax 库支持,通常提供 Ajax 请求和响应对象,以及用于评价响应、更新 DOM 元素、查询特定请求的帮助函数(helper)。

JavaScript 框架的典型特性

现在,让我们看一看大多数 JavaScript 框架都具备的有用特性。包括:

1.选择器(Selector)
2.DOM 遍历
3.DOM 操作
4.实用(Utility)函数
5.事件处理Ajax

在解释每个特性时,我将会用以下的一个或几个 JavaScript 框架举例说明:Prototype、jQuery、YUI、ExtJS 和 MooTools。尽管每个框架的实现和语法都各不相同,但概念都是相同的。每个框架都有一个详细的 API 参考,可帮助您理解如何使用该特定库中的特性。

Javascript 相关文章推荐
浅谈javascript中的作用域
Apr 07 Javascript
ie9 提示'console' 未定义问题的解决方法
Mar 20 Javascript
js的Prototype属性解释及常用方法
May 08 Javascript
JavaScript 浏览器兼容性总结及常用浏览器兼容性分析
Mar 30 Javascript
js图片延迟加载(Lazyload)三种实现方式
Mar 01 Javascript
MUI 实现侧滑菜单及其主体部分上下滑动的方法
Jan 25 Javascript
jQuery动态移除与增加onclick属性的方法详解
Jun 07 jQuery
Node.js的进程管理的深入理解
Jan 09 Javascript
WebSocket的简单介绍及应用
May 23 Javascript
VUE组件中的 Drawer 抽屉实现代码
Aug 06 Javascript
js实现树形数据转成扁平数据的方法示例
Feb 27 Javascript
vue添加锚点,实现滚动页面时锚点添加相应的class操作
Aug 10 Javascript
javascript常用的方法分享
Jul 01 #Javascript
JavaScript数组去重的3种方法和代码实例
Jul 01 #Javascript
JavaScript检测字符串中是否含有html标签实现方法
Jul 01 #Javascript
JS实现简单的图书馆享元模式实例
Jun 30 #Javascript
JS建造者模式基本用法实例分析
Jun 30 #Javascript
JS模式之简单的订阅者和发布者模式完整实例
Jun 30 #Javascript
JS模式之单例模式基本用法
Jun 30 #Javascript
You might like
解析php mysql 事务处理回滚操作(附实例)
2013/08/05 PHP
php实现在线生成条形码示例分享(条形码生成器)
2013/12/30 PHP
php出现内存位置访问无效错误问题解决方法
2014/08/16 PHP
thinkPHP商城公告功能开发问题分析
2016/12/01 PHP
PHP自定义函数实现assign()数组分配到模板及extract()变量分配到模板功能示例
2018/05/23 PHP
jQuery 版本的文本输入框检查器Input Check
2009/07/09 Javascript
jquery中eq和get的区别与使用方法
2011/04/14 Javascript
jQuery Ajax 仿AjaxPro.Utility.RegisterTypeForAjax辅助方法
2011/09/27 Javascript
javascript函数重载解决方案分享
2014/02/19 Javascript
js图片自动轮播代码分享(js图片轮播)
2014/05/06 Javascript
jquery通过ajax加载一段文本内容的方法
2015/01/15 Javascript
javascript中indexOf技术详解
2015/05/07 Javascript
js拖拽的原型声明和用法总结
2016/04/04 Javascript
深入理解jquery跨域请求方法
2016/05/18 Javascript
DropDownList实现可输入可选择(两种版本可选)
2016/12/07 Javascript
jquery实现瀑布流效果 jquery下拉加载新数据
2016/12/12 Javascript
javascript中对象的定义、使用以及对象和原型链操作小结
2016/12/14 Javascript
vueJs实现DOM加载完之后自动下拉到底部的实例代码
2018/08/31 Javascript
NodeJs 文件系统操作模块fs使用方法详解
2018/11/26 NodeJs
Vue3 中的数据侦测的实现
2019/10/09 Javascript
关于vue表单提交防双/多击的例子
2019/10/31 Javascript
[27:08]完美世界DOTA2联赛PWL S2 SZ vs Rebirth 第二场 11.21
2020/11/23 DOTA
python生成指定尺寸缩略图的示例
2014/05/07 Python
浅析Python基础-流程控制
2016/03/18 Python
python 并发下载器实现方法示例
2019/11/22 Python
python使用Thread的setDaemon启动后台线程教程
2020/04/25 Python
python3.6使用SMTP协议发送邮件
2020/05/20 Python
澳大利高级泳装品牌:Bondi Born
2018/05/23 全球购物
安全生产知识竞赛活动总结
2014/07/07 职场文书
商场周年庆活动方案
2014/08/19 职场文书
红领巾广播站广播稿(3篇)
2014/09/20 职场文书
优秀员工事迹材料
2014/12/20 职场文书
2014年精神文明工作总结
2014/12/23 职场文书
2015年世界粮食日演讲稿
2015/03/20 职场文书
2015年七夕情人节活动方案
2015/05/06 职场文书
Win11 Beta 22621.601 和 22622.601今日发布 KB5017384修复内容汇总
2022/09/23 数码科技