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 相关文章推荐
让焦点自动跳转
Jul 01 Javascript
JavaScript高级程序设计 扩展--关于动态原型
Nov 09 Javascript
jQuery load方法用法集锦
Dec 06 Javascript
javascript游戏开发之《三国志曹操传》零部件开发(二)人物行走的实现
Jan 23 Javascript
给angular加上动画效遇到的问题总结
Feb 17 Javascript
超全面的JavaScript开发规范(推荐)
Jan 21 Javascript
js中开关变量使用实例
Feb 24 Javascript
jquery dataTable 获取某行数据
May 05 jQuery
vue.js动态数据绑定学习笔记
May 19 Javascript
Vue 兄弟组件通信的方法(不使用Vuex)
Oct 26 Javascript
vue.js 子组件无法获取父组件store值的解决方式
Nov 08 Javascript
vue全屏事件开发详解
Jun 17 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
转生史莱姆:萌王第一次撸串开心到飞起,哥布塔撸串却神似界王神
2018/11/30 日漫
PHP 危险函数解释 分析
2009/04/22 PHP
采集邮箱的php代码(抓取网页中的邮箱地址)
2012/07/17 PHP
php正则取img标记中任意属性(正则替换去掉或改变图片img标记中的任意属性)
2013/08/13 PHP
关于php微信订阅号开发之token验证后自动发送消息给订阅号但是没有消息返回的问题
2015/12/21 PHP
PHP编程实现csv文件导入mysql数据库的方法
2017/04/29 PHP
firefox下jQuery UI Autocomplete 1.8.*中文输入修正方法
2012/09/19 Javascript
用jquery实现点击栏目背景色改变
2012/12/10 Javascript
jQuery ajax调用WCF服务实例
2014/07/16 Javascript
node.js中的querystring.parse方法使用说明
2014/12/10 Javascript
封装好的一个万能检测表单的方法
2015/01/21 Javascript
jQuery基于ajax实现带动画效果无刷新柱状图投票代码
2015/08/10 Javascript
Dropzone.js实现文件拖拽上传功能(附源码下载)
2016/11/22 Javascript
JS对象的深度克隆方法示例
2017/03/16 Javascript
ES6 javascript中class类的get与set用法实例分析
2017/10/30 Javascript
JS实现点击按钮随机生成可拖动的不同颜色块示例
2019/01/30 Javascript
微信小程序 授权登录详解(附完整源码)
2019/08/23 Javascript
javascript实现蒙版与禁止页面滚动
2020/01/11 Javascript
JavaScript 判断数据类型的4种方法
2020/09/11 Javascript
[01:31](回顾)杀出重围,决战TI之巅
2014/07/01 DOTA
[10:14]2018DOTA2国际邀请赛寻真——paiN Gaming不仅为自己而战
2018/08/14 DOTA
[53:44]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Magma BO3 第一场 1月31日
2021/03/11 DOTA
python里对list中的整数求平均并排序
2014/09/12 Python
Python创建xml的方法
2015/03/10 Python
Python快速从注释生成文档的方法
2016/12/26 Python
python笔记:mysql、redis操作方法
2017/06/28 Python
详解Python3.6安装psutil模块和功能简介
2018/05/30 Python
Python动态赋值的陷阱知识点总结
2019/03/17 Python
详解Python循环作用域与闭包
2019/03/21 Python
python 基于DDT实现数据驱动测试
2021/02/18 Python
过滤器的用法
2013/10/08 面试题
2014年幼儿园重阳节活动方案
2014/09/16 职场文书
学校党的群众路线教育实践活动对照检查材料
2014/09/24 职场文书
2015公务员试用期工作总结
2014/12/12 职场文书
生日宴会家属答谢词
2015/09/29 职场文书
golang 实现时间戳和时间的转化
2021/05/07 Golang