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实现重力弹跳拖拽运动效果示例
Jun 28 Javascript
jQuery实现简单的文件上传进度条效果
Mar 26 Javascript
jquery实现一个简单的表单验证实例
Mar 30 Javascript
JavaScript 节流函数 Throttle 详解
Jul 04 Javascript
jQuery实现定位滚动条位置
Aug 05 Javascript
js HTML5上传示例代码完整版
Oct 10 Javascript
利用vue + koa2 + mockjs模拟数据的方法教程
Nov 22 Javascript
vue2实现数据请求显示loading图
Nov 28 Javascript
JavaScript满天星导航栏实现方法
Mar 08 Javascript
微信小程序使用swiper组件实现类3D轮播图
Aug 29 Javascript
Vue记住滚动条和实现下拉加载的完美方法
Jul 31 Javascript
使用Ajax实现无刷新上传文件
Apr 12 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
微信公众号开发之微信公共平台消息回复类实例
2014/11/14 PHP
MSN消息提示类
2006/09/05 Javascript
双击滚屏-常用推荐
2006/11/29 Javascript
用javascript实现页面打印的三种方法
2007/03/05 Javascript
ExtJs GridPanel简单的增删改实现代码
2010/08/26 Javascript
怎么清空javascript数组
2013/05/11 Javascript
jQuery设置div一直在页面顶部显示的方法
2013/10/24 Javascript
在NodeJS中启用ECMAScript 6小结(windos以及Linux)
2014/07/15 NodeJs
javascript解析json实例详解
2014/11/05 Javascript
js实现简单div拖拽功能实例
2015/05/12 Javascript
在JavaScript应用中使用RequireJS来实现延迟加载
2015/07/01 Javascript
基于Arcgis for javascript实现百度地图ABCD marker的效果
2015/09/12 Javascript
JavaScript判断图片是否已经加载完毕的方法汇总
2016/02/05 Javascript
javascript瀑布流布局实现方法详解
2016/02/17 Javascript
AngularJS ng-mousedown 指令
2016/08/02 Javascript
泛谈JS逻辑判断选择器 || &&
2019/05/24 Javascript
layer弹出层取消遮罩的方法
2019/09/25 Javascript
vue 监听窗口变化对页面部分元素重新渲染操作
2020/07/28 Javascript
如何检测JavaScript中的死循环示例详解
2020/08/30 Javascript
[01:02:25]2014 DOTA2华西杯精英邀请赛5 24 NewBee VS VG
2014/05/25 DOTA
[36:14]DOTA2上海特级锦标赛D组小组赛#1 EG VS COL第二局
2016/02/28 DOTA
matplotlib给子图添加图例的方法
2018/08/03 Python
Python判断telnet通不通的实例
2019/01/26 Python
Python的形参和实参使用方式
2019/12/24 Python
将keras的h5模型转换为tensorflow的pb模型操作
2020/05/25 Python
玉兰油美国官网:OLAY美国
2018/10/25 全球购物
英语感恩演讲稿
2014/01/14 职场文书
销售经理竞聘书
2014/03/31 职场文书
父母对孩子说的话
2014/04/12 职场文书
2014房屋登记授权委托书
2014/10/13 职场文书
作风建设整改方案
2014/10/27 职场文书
老人再婚离婚协议书范本
2014/10/27 职场文书
早恋主题班会
2015/08/14 职场文书
mysql查询的控制语句图文详解
2021/04/11 MySQL
oracle覆盖导入dmp文件的2种方法
2021/05/21 Oracle
postgresql使用filter进行多维度聚合的解决方法
2021/07/16 PostgreSQL