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 相关文章推荐
通过jQuery源码学习javascript(二)
Dec 27 Javascript
javascript的alert box在java中如何显示多行
May 18 Javascript
javascript 判断整数方法分享
Dec 16 Javascript
基于javascript实现tab切换特效
Mar 29 Javascript
由浅入深剖析Angular表单验证
Jul 14 Javascript
深入理解Javascript中的观察者模式
Feb 20 Javascript
jQuery实现一个简单的验证码功能
Jun 26 jQuery
Vue引用第三方datepicker插件无法监听datepicker输入框的值的解决
Jan 27 Javascript
通过扫小程序码实现网站登陆功能
Aug 22 Javascript
js DOM的事件常见操作实例详解
Dec 16 Javascript
vue如何批量引入组件、注册和使用详解
May 12 Vue.js
深入浅析React中diff算法
May 19 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中的cookie不用刷新就生效的方法
2012/02/04 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十五)
2014/06/30 PHP
在SAE上搭建最新wordpress的方法
2014/12/21 PHP
一个简单安全的PHP验证码类 附调用方法
2016/06/24 PHP
php微信公众平台开发之微信群发信息
2016/09/13 PHP
WordPress免插件实现面包屑导航的示例代码
2020/08/20 PHP
javascript性能优化之DOM交互操作实例分析
2015/12/12 Javascript
ui组件之input多选下拉实现方法(带有搜索功能)
2016/07/14 Javascript
HTML5 canvas 9绘制图片实例详解
2016/09/06 Javascript
Angular多选、全选、批量选择操作实例代码
2017/03/10 Javascript
React Native预设占位placeholder的使用
2017/09/28 Javascript
详解Vue demo实现商品列表的展示
2019/05/07 Javascript
JS求1到任意数之间的所有质数的方法详解
2019/05/20 Javascript
JS中的算法与数据结构之字典(Dictionary)实例详解
2019/08/20 Javascript
微信小程序如何实现五星评价功能
2019/10/15 Javascript
javascript 代码是如何被压缩的示例代码
2020/05/06 Javascript
python求素数示例分享
2014/02/16 Python
浅谈python中截取字符函数strip,lstrip,rstrip
2015/07/17 Python
解决python字典对值(值为列表)赋值出现重复的问题
2019/01/20 Python
解决TensorFlow模型恢复报错的问题
2020/02/06 Python
Python Numpy中数据的常用保存与读取方法
2020/04/01 Python
pytorch实现查看当前学习率
2020/06/24 Python
Python基于pillow库实现生成图片水印
2020/09/14 Python
里程积分管理买卖交换平台:Points.com
2017/01/13 全球购物
美国演唱会订票网站:Ticketmaster美国
2017/10/05 全球购物
英国现代、当代和设计师家具店:Furntastic
2020/07/18 全球购物
廉政教育心得体会
2014/01/01 职场文书
应届毕业生自荐信例文
2014/02/26 职场文书
学雷锋志愿者活动方案
2014/08/21 职场文书
党员批评与自我批评思想汇报
2014/10/08 职场文书
乡镇群众路线整改落实情况汇报
2014/10/28 职场文书
2014年卫生保健工作总结
2014/12/08 职场文书
建筑工程催款函
2015/06/24 职场文书
开学典礼致辞
2015/07/29 职场文书
2016年法制宣传月活动总结
2016/04/01 职场文书
蓝牙耳机怎么连接电脑win11? Win11蓝牙耳机连接电脑的技巧
2023/01/09 数码科技