prototype 学习笔记整理


Posted in Javascript onJuly 17, 2009

var Class = {
create: function() {
return function() {
this.initialize.apply(this, arguments);
}
}
}
定义了一个class函数作为创建类的模版或者说是原型
使用方法

<html> 
<title>Test Class.create()</title> 
<head> 
<script language="JavaScript" type="text/javascript" src="prototype.js"></script> 
<script> 
var llinzzi= Class.create(); 
llinzzi.prototype = { 
initialize:function(){ 
document.writeln('This is create when initialize'); 
}, 
fuv:function(){document.writeln('This is inline method');} 
} 
var linChild = new llinzzi(); 
</script> 
</head> 
<body> 
<script> 
//window.onload(linChild); 
window.onload(linChild.fuv()); 
</script>; 
</body> 
</html>

////
This is create when initialize This is inline method ;
/////
就是当采用了prototype的Class.create();方法创建对象的时候,initialize作为特殊的方法,在创建实例的时候被执行,用以初始化.
继承
Object.extend = function(destination, source) {
for (var property in source) {
destination[property] = source[property];
}
return destination;
}
此方法将拷贝所有的source object的属性和方法到destination object.
Prototype 对Object类进行的扩展主要通过一个静态函数Object.extend (destination, source)实现了JavaScript 中的继承。 从语义的角度, Object.extend (destination, source)方法有些不和逻辑, 因为它事实上仅仅实现了从源对象到目标对象的全息拷贝。不过你也可以这样认为:由于目标对象拥有了所有源对象所拥有的特性, 所以看上去就像目标对象继承了源对象(并加以扩展)一样.
// make a (shallow) copy of obj1
var obj1 = {
method : "post",
args : ""
};
var obj2 = Object.extend({}, obj1);
使用 例子:
<html> 
<title>Test Object.extend</title> 
<head> 
<script language="JavaScript" type="text/javascript" src="prototype.js"></script> 
<script> 
function log(message) { 
document.writeln(" >>>>>: " +message); 
} 
var obj1= { 
method : "post", 
args : "" 
}; 
var obj2 = Object.extend({}, obj1); 
log(obj2.method); 
log(obj1 == obj2); 
log(obj1.method); 
log(obj2 == obj1); 
</script> 
</head> 
<body> 
</body> 
</html>

// merges in the given options object to the default options object
Object.extend(options, {
args : "data=454",
onComplete : function() { alert("done!"); }
});
options.method // "post"
options.args // "ata=454"
options.onComplete // function() { alert("done!"); }
使用例子:
<html> 
<title>Test Object.extend</title> 
<head> 
<script language="JavaScript" type="text/javascript" src="prototype.js"></script> 
<script> 
function log(message) { 
document.writeln(" >>>>>: " +message); 
} 
var options= { 
method : "post", 
args : "" 
}; 
Object.extend(options, { 
args : "data=454", 
onComplete : function() { alert("done!");} 
}); 
options.method // "post" 
options.args // "ata=454" 
options.onComplete // function() { alert("done!"); } 
log(options.method); 
log(options.args); 
log(options.onComplete); 
</script> 
</head> 
<body> 
</body> 
</html>
Javascript 相关文章推荐
JavaScript对象模型-执行模型
Apr 28 Javascript
JavaScript this调用规则说明
Mar 08 Javascript
精心挑选的15款优秀jQuery 本特效插件和教程
Aug 06 Javascript
window.requestAnimationFrame是什么意思,怎么用
Jan 13 Javascript
jQuery语法高亮插件支持各种程序源代码语法着色加亮
Apr 27 Javascript
JS判断是否360安全浏览器极速内核的方法
Jan 29 Javascript
Bootstrap每天必学之简单入门
Nov 19 Javascript
非常棒的jQuery图片轮播效果
Apr 17 Javascript
解决前端跨域问题方案汇总
Nov 20 Javascript
JavaScript算法教程之sku(库存量单位)详解
Jun 29 Javascript
小程序云开发部署攻略(图文教程)
Oct 30 Javascript
只有 20 行的 JavaScript 模板引擎实例详解
May 11 Javascript
表单元素事件 (Form Element Events)
Jul 17 #Javascript
优化 JavaScript 代码的方法小结
Jul 16 #Javascript
Javascript 事件流和事件绑定
Jul 16 #Javascript
js 对象是否存在判断
Jul 15 #Javascript
js 实现无缝滚动 兼容IE和FF
Jul 15 #Javascript
兼容IE/Firefox/Opera/Safari的检测页面装载完毕的脚本Ext.onReady的实现
Jul 14 #Javascript
JavaScript 继承详解(四)
Jul 13 #Javascript
You might like
PHP中可以自动分割查询字符的Parse_str函数使用示例
2014/07/25 PHP
PHP中使用GD库绘制折线图 折线统计图的绘制方法
2015/11/09 PHP
Yii2创建控制器(createController)方法详解
2016/07/23 PHP
PHP实现递归的三种方法
2020/07/04 PHP
使用滤镜设置透明导致 IE 6/7/8/9 解析异常的解决方法
2011/04/07 Javascript
javascript打开word文档的方法
2014/04/16 Javascript
AngularJS学习笔记之ng-options指令
2015/06/16 Javascript
详谈Ajax请求中的async:false/true的作用(ajax 在外部调用问题)
2017/02/10 Javascript
JSON与JS对象的区别与对比
2017/03/01 Javascript
微信小程序通过保存图片分享到朋友圈功能
2018/05/24 Javascript
Canvas实现微信红包照片效果
2018/08/21 Javascript
JavaScript数组、json对象、eval()函数用法实例分析
2019/02/21 Javascript
JS定义函数的几种常用方法小结
2019/05/23 Javascript
Element-UI中关于table表格的那些骚操作(小结)
2019/08/15 Javascript
微信小程序获取位置展示地图并标注信息的实例代码
2019/09/01 Javascript
Vue使用路由钩子拦截器beforeEach和afterEach监听路由
2020/11/16 Javascript
python处理文本文件实现生成指定格式文件的方法
2014/07/31 Python
归纳整理Python中的控制流语句的知识点
2015/04/14 Python
python爬虫框架scrapy实战之爬取京东商城进阶篇
2017/04/24 Python
python3+selenium实现qq邮箱登陆并发送邮件功能
2019/01/23 Python
详解Python用三种方式统计词频的方法
2019/07/29 Python
pycharm设置鼠标悬停查看方法设置
2019/07/29 Python
python 实现一个反向单位矩阵示例
2019/11/29 Python
解决Keras 中加入lambda层无法正常载入模型问题
2020/06/16 Python
Python自定义sorted排序实现方法详解
2020/09/18 Python
HTML5 Video标签的属性、方法和事件汇总介绍
2015/04/24 HTML / CSS
香港化妆品经销商:我的公主
2016/08/05 全球购物
EJB发布WEB服务一般步骤
2012/10/31 面试题
大学生村官工作感言
2014/01/10 职场文书
手工社团活动方案
2014/02/17 职场文书
学习雷锋演讲稿
2014/05/10 职场文书
机关干部作风建设剖析材料
2014/10/23 职场文书
大学生党员自我评价
2015/03/04 职场文书
拾金不昧表扬稿大全
2015/05/05 职场文书
保护环境建议书作文300字
2015/09/14 职场文书
《为人民服务》教学反思
2016/02/20 职场文书