Prototype框架详解


Posted in Javascript onNovember 25, 2015

这里所说的“Prototype”不是JavaScript编程中的原型(“prototype”),而是由“Sam Stephenson”写的一个JavaScript类库。这个构思奇妙,而且兼容标准的类库,能帮助程序员轻松建立有高度互动的“web2.0”特性的富客户端页面。

•很多人初次接触Prototype,都是从其“$”系列函数开始的,这些类似于桌面应用程序的快捷方式,是Prototype框架中使用频率最高的一组函数。此外,Prototype对Ajax的支持也是让开发人员很感兴趣的地方。当然Prototype的功能并不仅限于此,其对JavaScript内置对象进行了大量的扩展,同时也定义了很多新的对象。

prototype框架的简介:

•Prototype是目前应用最为广泛的Ajax开发框架,其的特点是功能实用而且尺寸较小,非常适合在中小型的Web应用中使用。开发Ajax应用需要编写大量的客户端JavaScript脚本,而Prototype框架可以大大地简化JavaScript代码的编写工作。更难得的是,Prototype具备兼容各个浏览器的优秀特性,使用该框架可以不必考虑浏览器兼容性的问题。

•Prototype对JavaScript的内置对象(如“String”对象、“Array”对象等)进行了很多有用的扩展,同时该框架中也新增了不少自定义的对象,包括对Ajax开发的支持等都是在自定义对象中实现的。Prototype可以帮助开发人员实现以下的目标:

•(1)对字符串进行各种处理
•(2)使用枚举的方式访问集合对象
•(3)以更简单的方式进行常见的DOM操作
•(4)使用CSS选择符定位页面元素
•(5)发起Ajax方式的HTTP请求并对响应进行处理
•(6)监听DOM事件并对事件进行处理 

•“Prototype”框架功能详解—使用实用函数

“Prototype”框架的实现仅仅包含一个JavaScript即可,1.6版本的“Prototype.js”的文件大小为127K字节,约4220行。在页面中应用的语法类似于:

•<script type=”text/javascript” src=”inc"js"Prototype.js” ></script>

•然后就可以在后继的脚本中享受该框架带来的便利了。

•该框架中有很多预定义的对象和实用函数,可以将程序员从重复的打字中解放出来。

•(1)使用“$()”函数。
•(2)使用“$F()”函数。此函数是另一个大收欢迎的“快捷键”,能用于返回任何表单输入控件的值,比如多行文本框和下拉列表框等控件。此个方法也能用元素id或元素本身做为参数。
•(3)使用“$A()”函数。此函数能将其接收到的单个的参数转换成一个Array对象。
•(4)使用“$H()”函数。此函数把一些对象转换成一个可枚举的和联合数组类似的Hash对象。
•(5)使用“$R()”函数。此函数是“new ObjectRange(lowBound,upperBound,excludeBounds)”的缩写,用于建立一个范围对象。
•(6)使用“Try.these()”函数。“Try.these()”方法用于调用不同的方法直到其中的一个成功。此函数把一系列的方法作为参数,并且按顺序的一个一个的执行这些方法,直到其中的一个成功执行。返回成功执行的那个方法的返回值。“Try.these()”函数可以用于处理兼容性问题。

Javascript 相关文章推荐
JavaScript 事件属性绑定带参数的函数
Mar 13 Javascript
JavaScript学习笔记(一) js基本语法
Oct 25 Javascript
jQuery下实现等待指定元素加载完毕(可改成纯js版)
Jul 11 Javascript
node.js中的fs.renameSync方法使用说明
Dec 16 Javascript
jQuery实现DIV层收缩展开的方法
Feb 27 Javascript
省市区三级联动下拉框菜单javascript版
Aug 11 Javascript
JavaScript对象学习小结
Sep 02 Javascript
jQuery获取checkboxlist的value值的方法
Sep 27 Javascript
javascript实现简单计算器效果【推荐】
Apr 19 Javascript
jquery请求servlet实现ajax异步请求的示例
Jun 03 jQuery
纯 JS 实现放大缩小拖拽功能(完整代码)
Nov 25 Javascript
解决vue打包 npm run build-test突然不动了的问题
Nov 13 Javascript
谈谈js中的prototype及prototype属性解释和常用方法
Nov 25 #Javascript
Bootstrap每天必学之下拉菜单
Nov 25 #Javascript
使用Javascript写的2048小游戏
Nov 25 #Javascript
Jquery-1.9.1源码分析系列(十一)之DOM操作
Nov 25 #Javascript
Bootstrap每天必学之栅格系统(布局)
Nov 25 #Javascript
jQuery实现宽屏图片轮播实例教程
Nov 24 #Javascript
jquery利用拖拽方式在图片上添加热链接
Nov 24 #Javascript
You might like
PHP 利用AJAX获取网页并输出的实现代码(Zjmainstay)
2012/08/31 PHP
探讨:如何使用PhpDocumentor生成文档
2013/06/25 PHP
php curl模拟post请求小实例
2013/11/13 PHP
PHP动态地创建属性和方法, 对象的复制, 对象的比较,加载指定的文件,自动加载类文件,命名空间
2016/05/06 PHP
PHP简单实现遍历目录下特定文件的方法小结
2017/05/22 PHP
PHP使用preg_split和explode分割textarea存放内容的方法分析
2017/07/03 PHP
PHP基于curl模拟post提交json数据示例
2018/06/22 PHP
[原创]静态页面也可以实现预览 列表不同的显示方式
2006/10/14 Javascript
用jQuery实现一些导航条切换,显示隐藏的实例代码
2013/06/08 Javascript
jQuery中attr()和prop()在修改checked属性时的区别
2014/07/18 Javascript
jquery datatable后台封装数据示例代码
2014/08/07 Javascript
Egret引擎开发指南之编译项目
2014/09/03 Javascript
Javascript模拟加速运动与减速运动代码分享
2014/12/11 Javascript
JavaScript代码性能优化总结(推荐)
2016/05/16 Javascript
jQuery实现点击表格单元格就可以编辑内容的方法【测试可用】
2016/08/01 Javascript
jQuery实现鼠标选中文字后弹出提示窗口效果【附demo源码】
2016/09/05 Javascript
AngularJS实现单独作用域内的数据操作
2016/09/05 Javascript
微信小程序 支付功能开发错误总结
2017/02/21 Javascript
nodejs中使用worker_threads来创建新的线程的方法
2021/01/22 NodeJs
vue 中this.$set 动态绑定数据的案例讲解
2021/01/29 Vue.js
[06:16]DOTA2守卫传承者——职业选手谈心路历程
2015/02/26 DOTA
[05:31]DOTA2上海特级锦标赛主赛事第三日RECAP
2016/03/05 DOTA
[41:13]完美世界DOTA2联赛PWL S2 Forest vs Rebirth 第一场 11.20
2020/11/20 DOTA
Python统计列表中的重复项出现的次数的方法
2014/08/18 Python
Python解决两个整数相除只得到整数部分的实例
2018/11/10 Python
Python函数参数匹配模型通用规则keyword-only参数详解
2019/06/10 Python
pywinauto自动化操作记事本
2019/08/26 Python
如何用Anaconda搭建虚拟环境并创建Django项目
2020/08/02 Python
美国电子产品折扣网站:Daily Steals
2017/05/20 全球购物
采购员的工作职责
2013/12/26 职场文书
纪念9.18事变演讲稿
2014/09/14 职场文书
2014党的群众路线教育实践活动总结报告
2014/10/31 职场文书
优秀高中学生评语
2014/12/30 职场文书
入党积极分子培养人意见
2015/06/02 职场文书
导游词之茶卡盐湖
2019/11/26 职场文书
yolov5返回坐标的方法实例
2022/03/17 Python