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 相关文章推荐
Js判断CSS文件加载完毕的具体实现
Jan 17 Javascript
div失去焦点事件实现思路
Apr 22 Javascript
JavaScript避免内存泄露及内存管理技巧
Sep 05 Javascript
JQuery控制div外点击隐藏而div内点击不会隐藏的方法
Jan 13 Javascript
jQuery实现简单的间隔向上滚动效果
Mar 09 Javascript
JavaScript数组和循环详解
Apr 27 Javascript
bootstrap datepicker 与bootstrapValidator同时使用时选择日期后无法正常触发校验的解决思路
Sep 28 Javascript
微信小程序 页面跳转传参详解
Oct 28 Javascript
vue.js指令v-model使用方法
Mar 20 Javascript
js实现一个简单的数字时钟效果
Mar 29 Javascript
微信小程序实现城市列表选择
Jun 05 Javascript
vue项目打包部署到服务器的方法示例
Aug 27 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
受疫情影响 动画《Re从零开始的异世界生活》第二季延期至7月
2020/03/10 日漫
PHP 伪静态技术原理以及突破原理实现介绍
2013/07/12 PHP
Yii实现MySQL多数据库和读写分离实例分析
2014/12/03 PHP
PHP获取QQ达人QQ信息的方法
2015/03/05 PHP
php mailer类调用远程SMTP服务器发送邮件实现方法
2016/03/04 PHP
探究Laravel使用env函数读取环境变量为null的问题
2016/12/06 PHP
yii2.0整合阿里云oss上传单个文件的示例
2017/09/19 PHP
PHP自定义函数实现assign()数组分配到模板及extract()变量分配到模板功能示例
2018/05/23 PHP
PHP连接MySQL数据库操作代码实例解析
2020/07/11 PHP
PHP7 windows支持
2021/03/09 PHP
Javascript 获取字符串字节数的多种方法
2009/06/02 Javascript
JQuery 网站换肤功能实现代码
2009/11/02 Javascript
JS 动态获取节点代码innerHTML分析 [IE,FF]
2009/11/30 Javascript
jquery利用event.which方法获取键盘输入值的代码
2011/10/09 Javascript
自定义右键属性覆盖浏览器默认右键行为实现代码
2013/02/02 Javascript
jquery1.9 下检测浏览器类型和版本的方法
2013/12/26 Javascript
jQuery遍历json中多个map的方法
2015/02/12 Javascript
BootStrap+Angularjs+NgDialog实现模式对话框
2016/08/24 Javascript
Angularjs修改密码的实例代码
2017/05/26 Javascript
详解如何使用 vue-cli 开发多页应用
2017/12/16 Javascript
微信小程序实现默认第一个选中变色效果
2018/07/17 Javascript
vue-socket.io跨域问题有效解决方法
2020/02/11 Javascript
[01:18]PWL开团时刻DAY10——一拳超人
2020/11/11 DOTA
在Python的Django框架中为代码添加注释的方法
2015/07/16 Python
浅谈配置OpenCV3 + Python3的简易方法(macOS)
2018/04/02 Python
python实现批量解析邮件并下载附件
2018/06/19 Python
HTML5拖放效果的实现代码
2016/11/17 HTML / CSS
html5自动播放mov格式视频的实例代码
2020/01/14 HTML / CSS
美国小蜜蜂Burt’s Bees德国官网:天然唇部、皮肤和身体护理产品
2020/06/14 全球购物
团员的自我评价
2013/12/01 职场文书
公司清洁工岗位职责
2013/12/14 职场文书
大学应届毕业生求职信
2014/05/24 职场文书
质量安全标语
2014/06/07 职场文书
党支部书记四风问题整改措施
2014/09/24 职场文书
Python基础之进程详解
2021/05/21 Python
JS创建或填充任意长度数组的小技巧汇总
2021/10/24 Javascript