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 15 Javascript
浅谈jQuery事件绑定原理
Jan 02 Javascript
JS实现鼠标箭头变成一个燃烧烛光效果的方法
Feb 28 Javascript
javascript动态设置样式style实例分析
May 13 Javascript
详解javascript数组去重问题
Nov 06 Javascript
node.js中实现kindEditor图片上传功能的方法教程
Apr 26 Javascript
Vue.js鼠标悬浮更换图片功能
May 17 Javascript
jQuery md5加密插件jQuery.md5.js用法示例
Aug 24 jQuery
JavaScript实现汉字转换为拼音及缩写的方法示例
Mar 28 Javascript
js中async函数结合promise的小案例浅析
Apr 14 Javascript
Vuex模块化应用实践示例
Feb 03 Javascript
vue实现顶部菜单栏
Nov 08 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
php 无限极分类
2008/03/27 PHP
浏览器预览PHP文件时顶部出现空白影响布局分析原因及解决办法
2013/01/11 PHP
列表内容的选择
2006/06/30 Javascript
轻轻松松学习JavaScript
2007/02/25 Javascript
javascript学习随笔(使用window和frame)的技巧
2007/03/08 Javascript
javascript 学习之旅 (3)
2009/02/05 Javascript
javascript学习笔记(十六) 系统对话框(alert、confirm、prompt)
2012/06/20 Javascript
js实现的点击数量加一可操作数据库
2014/05/09 Javascript
Javascript中拼接大量字符串的方法
2015/02/05 Javascript
javascript版2048小游戏
2015/03/18 Javascript
详解javascript实现自定义事件
2016/01/19 Javascript
浅谈JS原型对象和原型链
2016/03/02 Javascript
jQuery多文件异步上传带进度条实例代码
2016/08/16 Javascript
Bootstarp基本模版学习教程
2017/02/01 Javascript
Bootstrap输入框组件使用详解
2017/06/09 Javascript
JS实现的随机排序功能算法示例
2017/06/09 Javascript
vue中配置scss全局变量的步骤
2020/12/28 Vue.js
python使用pil生成图片验证码的方法
2015/05/08 Python
Python中遍历字典过程中更改元素导致异常的解决方法
2016/05/12 Python
python去除字符串中的换行符
2017/10/11 Python
Python文件如何引入?详解引入Python文件步骤
2018/12/10 Python
详解安装mitmproxy以及遇到的坑和简单用法
2019/01/21 Python
python可视化爬虫界面之天气查询
2019/07/03 Python
Python识别快递条形码及Tesseract-OCR使用详解
2019/07/15 Python
利用Python的sympy包求解一元三次方程示例
2019/11/22 Python
Python实现初始化不同的变量类型为空值
2020/06/02 Python
pyqt5 textEdit、lineEdit操作的示例代码
2020/08/12 Python
CSS3新属性transition-property transform box-shadow实例学习
2013/06/06 HTML / CSS
HTML5 input新增type属性color颜色拾取器的实例代码
2018/08/27 HTML / CSS
某IT外企面试题-二分法求方程!看看大家的C++功底
2015/07/04 面试题
计算机专业优秀大学生自我总结
2014/01/21 职场文书
中学生差生评语
2014/01/30 职场文书
学雷锋的心得体会
2014/09/04 职场文书
2014年大学生党员评议表自我评价
2014/09/20 职场文书
授权委托书
2015/01/28 职场文书
anaconda python3.8安装后降级
2021/06/11 Python