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 String 的扩展方法集合
Jun 01 Javascript
讨论javascript(一)工厂方式 js面象对象的定义方法
Dec 15 Javascript
javascript实现日历控件(年月日关闭按钮)
Dec 12 Javascript
JQuery伸缩导航练习示例
Nov 13 Javascript
javascript封装addLoadEvent实现页面同时加载执行多个函数的方法
Jul 25 Javascript
ES2015 Symbol 一种绝不重复的值
Dec 25 Javascript
3种vue路由传参的基本模式
Feb 22 Javascript
jQuery.extend 与 jQuery.fn.extend的用法及区别实例分析
Jul 25 jQuery
使用Vue-cli3.0创建的项目 如何发布npm包
Oct 10 Javascript
js利用iframe实现选项卡效果
Aug 09 Javascript
vue组件中实现嵌套子组件案例
Aug 31 Javascript
详解微信小程序轨迹回放实现及遇到的坑
Feb 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
php读取html并截取字符串的简单代码
2009/11/30 PHP
php和javascript之间变量的传递实现代码
2012/12/19 PHP
ThinkPHP的L方法使用简介
2014/06/18 PHP
使用PHP similar text计算两个字符串相似度
2015/11/06 PHP
PHP中header函数的用法及其注意事项详解
2016/06/13 PHP
PHP新特性详解之命名空间、性状与生成器
2017/07/18 PHP
js获取网页高度(详细整理)
2012/12/28 Javascript
jQuery.validate 常用方法及需要注意的问题
2013/03/20 Javascript
JQuery获取样式中的background-color颜色值的问题
2013/08/20 Javascript
使用原生js封装webapp滑动效果(惯性滑动、滑动回弹)
2014/05/06 Javascript
基于Flowplayer打造一款免费的WEB视频播放器附源码
2015/09/06 Javascript
jQuery绑定事件on()与弹窗的简要概述
2016/04/27 Javascript
浅谈javascript:两种注释,声明变量,定义函数
2016/10/05 Javascript
原生JS实现自定义滚动条效果
2020/10/27 Javascript
基于jQuery的左滑出现删除按钮的示例
2017/08/29 jQuery
vue采用EventBus实现跨组件通信及注意事项小结
2018/06/14 Javascript
vue实现循环切换动画
2018/10/17 Javascript
浅析JavaScript异步代码优化
2019/03/18 Javascript
Node.js API详解之 net模块实例分析
2020/05/18 Javascript
vue中利用three.js实现全景图的完整示例
2020/12/07 Vue.js
用Python计算三角函数之atan()方法的使用
2015/05/15 Python
python3 pillow生成简单验证码图片的示例
2017/09/19 Python
解决Spyder中图片显示太小的问题
2018/04/27 Python
centos+nginx+uwsgi+Django实现IP+port访问服务器
2019/11/15 Python
解决Python在导入文件时的FileNotFoundError问题
2020/04/10 Python
浅谈python 类方法/静态方法
2020/09/18 Python
地图可视化神器kepler.gl python接口的使用方法
2020/12/22 Python
详解CSS3 弹性布局快速入门
2019/06/06 HTML / CSS
俄罗斯名牌服装网上商店:UNIQUE FABRIC
2019/07/25 全球购物
Nike意大利官网:Nike.com IT
2020/01/19 全球购物
财务工作个人求职的自我评价
2013/12/19 职场文书
竞争上岗演讲稿
2014/01/05 职场文书
妇联主席先进事迹
2014/05/18 职场文书
怎么写工作检讨书
2014/11/16 职场文书
医院党建工作总结2015
2015/05/26 职场文书
MySQL GRANT用户授权的实现
2021/06/18 MySQL