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数组组合成字符串的脚本
Jan 06 Javascript
node.js中的fs.open方法使用说明
Dec 17 Javascript
Javascript中的高阶函数介绍
Mar 15 Javascript
window.location.hash知识汇总
Nov 09 Javascript
javascript实现的全国省市县无刷新多级关联菜单效果代码
Aug 01 Javascript
微信小程序 Storage API实例详解
Oct 02 Javascript
基于JavaScript实现焦点图轮播效果
Mar 27 Javascript
javascript字体颜色控件的开发 JS实现字体控制
Nov 27 Javascript
jQuery实现弹窗下底部页面禁止滑动效果
Dec 19 jQuery
Parcel.js + Vue 2.x 极速零配置打包体验教程
Dec 24 Javascript
Vue 一键清空表单的实现方法
Feb 07 Javascript
javascript实现倒计时提示框
Mar 02 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
Apache下禁止php文件被直接访问的解决方案
2013/04/25 PHP
浅析PHP 按位与或 (^ 、&)
2013/06/21 PHP
详解php中空字符串和0之间的关系
2016/10/23 PHP
理解Javascript_12_执行模型浅析
2010/10/18 Javascript
JQUERY 获取IFrame中对象及获取其父窗口中对象示例
2013/08/19 Javascript
全面理解面向对象的 JavaScript(来自ibm)
2013/11/10 Javascript
JS案例分享之金额小写转大写
2014/05/15 Javascript
input标签内容改变的触发事件介绍
2014/06/18 Javascript
jquery实现简单的轮换出现效果实例
2015/07/23 Javascript
深入学习JavaScript中的Rest参数和参数默认值
2015/07/28 Javascript
利用bootstrapValidator验证UEditor
2016/09/14 Javascript
浅析JS中回调函数及用法
2018/07/25 Javascript
vue.js父子组件通信动态绑定的实例
2018/09/28 Javascript
详解@angular/cli 改变默认启动端口两种方式
2018/11/29 Javascript
mongodb初始化并使用node.js实现mongodb操作封装方法
2019/04/02 Javascript
使用typescript构建Vue应用的实现
2019/08/26 Javascript
[01:07]2015国际邀请赛 中国区预选赛精彩回顾
2015/06/15 DOTA
[04:19]DOTA2亚洲邀请赛 现场花絮
2015/03/11 DOTA
简单介绍Python2.x版本中的cmp()方法的使用
2015/05/20 Python
Python实现Windows上气泡提醒效果的方法
2015/06/03 Python
python matplotlib中文显示参数设置解析
2017/12/15 Python
python方向键控制上下左右代码
2018/01/20 Python
Python输出由1,2,3,4组成的互不相同且无重复的三位数
2018/02/01 Python
用Python解数独的方法示例
2019/10/24 Python
pytorch加载自定义网络权重的实现
2020/01/07 Python
python logging通过json文件配置的步骤
2020/04/27 Python
Python自动化之UnitTest框架实战记录
2020/09/08 Python
Python将QQ聊天记录生成词云的示例代码
2021/02/10 Python
PHP高级工程师面试问题推荐
2013/01/18 面试题
小区消防演习方案
2014/02/21 职场文书
集体婚礼策划方案
2014/02/22 职场文书
社区服务活动小结
2014/07/08 职场文书
高中教师先进事迹材料
2014/08/22 职场文书
个人股份转让协议书范本
2014/10/26 职场文书
市级三好学生评语
2014/12/29 职场文书
2016年法制宣传月活动总结
2016/04/01 职场文书