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 相关文章推荐
各种页面定时跳转(倒计时跳转)代码总结
Oct 24 Javascript
php显示当前文件所在的文件以及文件夹所有文件以树形展开
Dec 13 Javascript
jquery实现手机发送验证码的倒计时代码
Feb 12 Javascript
禁用Enter键表单自动提交实现代码
May 22 Javascript
JavaScript实现简单获取当前网页网址的方法
Nov 09 Javascript
谈谈对offsetleft兼容性的理解
Nov 11 Javascript
JS实现的倒计时效果实例(2则实例)
Dec 23 Javascript
基于HTML+CSS,jQuery编写的简易计算器后续(添加了键盘监听)
Jan 05 Javascript
微信端开发--登录小程序步骤
Jan 11 Javascript
CKEditor4配置与开发详细中文说明文档
Oct 08 Javascript
浅析Vue.js 中的条件渲染指令
Nov 19 Javascript
es6中比较有用的7个技巧小结
Jul 12 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
超外差式晶体管收音机的组装与统调
2021/03/01 无线电
PHP5.0正式发布 不完全兼容PHP4 新增多项功能
2006/10/09 PHP
php报表之jpgraph柱状图实例代码
2011/08/22 PHP
ThinkPHP3.0略缩图不能保存到子目录的解决方法
2012/09/30 PHP
深入php socket的讲解与实例分析
2013/06/13 PHP
php建立Ftp连接的方法
2015/03/07 PHP
PHP自定义函数格式化json数据示例
2016/09/14 PHP
ThinkPHP Where 条件中常用表达式示例(详解)
2017/03/31 PHP
在js中单选框和复选框获取值的方式
2009/11/06 Javascript
用js来获取上传的文件名纯粹是为了美化而用
2013/10/23 Javascript
jQuery实现简单的计时器功能实例分析
2017/08/29 jQuery
js合并两个数组生成合并后的key:value数组
2018/05/09 Javascript
Vue.js 事件修饰符的使用教程
2018/11/01 Javascript
vue拖拽排序插件vuedraggable使用方法详解
2020/08/21 Javascript
浅谈Javascript中的对象和继承
2019/04/19 Javascript
使用 vue 实例更好的监听事件及vue实例的方法
2019/04/22 Javascript
微信小程序中限制激励式视频广告位显示次数(实现思路)
2019/12/06 Javascript
使用Element的InfiniteScroll 无限滚动组件报错的解决
2020/07/27 Javascript
JavaScript点击按钮生成4位随机验证码
2021/01/28 Javascript
Python 流程控制实例代码
2009/09/25 Python
python应用程序在windows下不出现cmd窗口的办法
2014/05/29 Python
Python科学计算之Pandas详解
2017/01/15 Python
深入理解Python中的super()方法
2017/11/20 Python
python打包压缩、读取指定目录下的指定类型文件
2018/04/12 Python
法国珠宝店:CLEOR
2017/01/29 全球购物
生物化工专业个人自荐信
2013/09/26 职场文书
酒店公关部经理岗位职责
2013/11/24 职场文书
酒店采购员岗位职责
2014/03/14 职场文书
初中优秀教师事迹材料
2014/08/18 职场文书
淘宝好评语句大全
2014/12/31 职场文书
建筑质检员岗位职责
2015/04/08 职场文书
迎国庆主题班会
2015/08/17 职场文书
关于考试抄袭的检讨书
2019/11/02 职场文书
dubbo服务整合zipkin详解
2021/07/26 Java/Android
Golang 1.18 多模块Multi-Module工作区模式的新特性
2022/04/11 Golang
使用refresh_token实现无感刷新页面
2022/04/26 Javascript