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弹窗代码 可以指定弹出间隔
Jul 03 Javascript
node.js入门教程
Jun 01 Javascript
为什么Node.js会这么火呢?Node.js流行的原因
Dec 01 Javascript
jquery实现的代替传统checkbox样式插件
Jun 19 Javascript
JS实现自动变化的导航菜单效果代码
Sep 09 Javascript
jQuery Select下拉框操作小结(推荐)
Jul 22 Javascript
详解AngularJs中$sce与$sceDelegate上下文转义服务
Sep 21 Javascript
JS中闭包的经典用法小结(2则示例)
Dec 28 Javascript
jQuery选择器实例应用
Jan 05 Javascript
Node.js设置CORS跨域请求中多域名白名单的方法
Mar 28 Javascript
基于dataset的使用和图片延时加载的实现方法
Dec 11 Javascript
微信小程序实现倒计时功能
Nov 19 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
对盗链说再见...
2006/10/09 PHP
Linux下将excel数据导入到mssql数据库中的方法
2010/02/08 PHP
Yii中的relations数据关联查询及统计功能用法详解
2016/07/14 PHP
PHP使用SWOOLE扩展实现定时同步 MySQL 数据
2017/04/09 PHP
PHP生成推广海报的方法分享
2018/04/22 PHP
php和C#的yield迭代器实现方法对比分析
2019/07/17 PHP
收集的网上用的ajax之chat.js文件
2007/04/08 Javascript
extjs 04_grid 单击事件新发现
2012/11/27 Javascript
Jquery+asp.net后台数据传到前台js进行解析的方法
2014/05/11 Javascript
js+jquery常用知识点汇总
2015/03/03 Javascript
如何让一个json文件显示在表格里【实现代码】
2016/05/09 Javascript
Bootstrap学习笔记之css组件(3)
2016/06/07 Javascript
Javascript OOP之面向对象
2016/07/31 Javascript
详解jQuery中的DOM操作
2016/12/23 Javascript
boostrapTable的refresh和refreshOptions区别浅析
2017/01/22 Javascript
vue获取dom元素注意事项
2017/12/28 Javascript
基于vue实现网站前台的权限管理(前后端分离实践)
2018/01/13 Javascript
Node.js使用Angular简单示例
2018/05/11 Javascript
如何用Node写页面爬虫的工具集
2018/10/26 Javascript
JS实现简单的抽奖转盘效果示例
2019/02/16 Javascript
vue输入节流,避免实时请求接口的实例代码
2019/10/30 Javascript
基于vue.js实现购物车
2020/01/15 Javascript
python实现通过代理服务器访问远程url的方法
2015/04/29 Python
django反向解析URL和URL命名空间的方法
2018/06/05 Python
python中使用iterrows()对dataframe进行遍历的实例
2018/06/09 Python
python装饰器代替set get方法实例
2019/12/19 Python
python GUI库图形界面开发之PyQt5动态加载QSS样式文件
2020/02/25 Python
简单掌握CSS3中resize属性的用法
2016/04/01 HTML / CSS
Html5百叶窗效果的示例代码
2017/12/11 HTML / CSS
一道写SQL的面试题和答案
2013/11/19 面试题
个人诉讼委托书范本
2014/10/17 职场文书
党员教师学习党的群众路线教育实践活动心得体会
2014/10/31 职场文书
财务稽核岗位职责
2015/04/13 职场文书
黑白记忆观后感
2015/06/18 职场文书
生产设备维护保养制度
2015/08/06 职场文书
学习《中小学教师职业道德规范》心得体会
2016/01/18 职场文书