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中比较字符串是否相等的方法
Jul 23 Javascript
Jquery中给animation加更多的运作效果实例
Sep 05 Javascript
js单例模式的两种方案
Oct 22 Javascript
js之事件冒泡和事件捕获详细介绍
Oct 28 Javascript
js中arguments的用法(实例讲解)
Nov 30 Javascript
浅析javascript中的DOM
Mar 01 Javascript
js实现简易的单数字随机抽奖(0-9)
Mar 19 Javascript
Angular.js与Bootstrap相结合实现表格分页代码
Apr 12 Javascript
AngularJS基础 ng-model-options 指令简单示例
Aug 02 Javascript
easyui 中的datagrid跨页勾选问题的实现方法
Jan 18 Javascript
JS编写兼容IE6,7,8浏览器无缝自动轮播
Oct 12 Javascript
JS中封装axios来管控api的2种方式
Sep 11 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
2020显卡排行榜天梯图 显卡天梯图2020年3月最新版
2020/04/02 数码科技
php下把数组保存为文件格式的实例应用
2010/02/08 PHP
解析PHP的session过期设置
2013/06/29 PHP
PHP基于新浪IP库获取IP详细地址的方法
2017/05/04 PHP
PHP lcfirst()函数定义与用法
2019/03/08 PHP
HTTP头隐藏PHP版本号实现过程解析
2020/12/09 PHP
JavaScript的Function详细
2006/11/14 Javascript
静态页面下用javascript操作ACCESS数据库(读增改删)的代码
2007/05/14 Javascript
extJs 文本框后面加上说明文字+下拉列表选中值后触发事件
2009/11/27 Javascript
基于jQuery试卷自动排版系统
2010/07/18 Javascript
hover的用法及live的用法介绍(鼠标悬停效果)
2013/03/29 Javascript
详解Javascript 装载和执行
2014/11/17 Javascript
nodejs教程之环境安装及运行
2014/11/21 NodeJs
浅谈JavaScript function函数种类
2014/12/29 Javascript
JavaScript模版引擎的基本实现方法浅析
2016/02/15 Javascript
js 弹出对话框(遮罩)透明,可拖动的简单实例
2016/07/11 Javascript
vue内置组件transition简单原理图文详解(小结)
2018/07/12 Javascript
Mpvue中使用Vant Weapp组件库的方法步骤
2019/05/16 Javascript
Vue的路由及路由钩子函数的实现
2019/07/02 Javascript
JS回调函数深入理解
2019/10/16 Javascript
JavaScript中EventBus实现对象之间通信
2020/10/18 Javascript
vue-calendar-component 封装多日期选择组件的实例代码
2020/12/04 Vue.js
vue实现防抖的实例代码
2021/01/11 Vue.js
Python  __getattr__与__setattr__使用方法
2008/09/06 Python
Python获取当前函数名称方法实例分享
2018/01/18 Python
Python字典中的键映射多个值的方法(列表或者集合)
2018/10/17 Python
Django中数据库的数据关系:一对一,一对多,多对多
2018/10/21 Python
Numpy截取指定范围内的数据方法
2018/11/14 Python
opencv实现图片模糊和锐化操作
2018/11/19 Python
Python 脚本拉取 Docker 镜像问题
2019/11/10 Python
Python通过2种方法输出带颜色字体
2020/03/02 Python
Jupyter Notebook折叠输出的内容实例
2020/04/22 Python
Pycharm Available Package无法显示/安装包的问题Error Loading Package List解决
2020/09/18 Python
NYX Professional Makeup英国官网:美国平价专业彩妆品牌
2019/11/13 全球购物
思想品德自我评价
2014/02/04 职场文书
奇妙的 CSS shapes(CSS图形)
2021/04/05 HTML / CSS