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 相关文章推荐
简单通用的JS滑动门代码
Dec 19 Javascript
jq选项卡鼠标延迟的插件实例
May 13 Javascript
jquery中filter方法用法实例分析
Feb 06 Javascript
原生JavaScript编写俄罗斯方块
Mar 30 Javascript
JS实现的车标图片提示效果代码
Oct 10 Javascript
jquery编写Tab选项卡滚动导航切换特效
Jul 17 Javascript
Bootstrap基本插件学习笔记之Tooltip提示工具(18)
Dec 08 Javascript
jQuery实现 上升、下降、删除、添加一行代码
Mar 06 Javascript
p5.js入门教程之键盘交互
Mar 19 Javascript
tracking.js页面人脸识别插件使用方法
Apr 16 Javascript
JavaScript实现随机五位数验证码
Sep 27 Javascript
JavaScript 引用类型实例详解【数组、对象、严格模式等】
May 13 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 版本]
2007/03/20 PHP
PHP实现使用优酷土豆视频地址获取swf播放器分享地址
2014/06/05 PHP
laravel安装和配置教程
2014/10/29 PHP
php读取mssql的ntext字段返回值为空的解决方法
2014/12/30 PHP
使用PHP实现下载CSS文件中的图片
2015/12/06 PHP
Yii2 如何在modules中添加验证码的方法
2017/06/19 PHP
php面试中关于面向对象的相关问题
2019/02/13 PHP
Extjs学习笔记之六 面版
2010/01/08 Javascript
js滚动条回到顶部的代码
2011/12/06 Javascript
javascript显示用户停留时间的简单实例
2013/08/05 Javascript
JS中图片缓冲loading技术的实例代码
2013/08/29 Javascript
jQuery实现移动端滑块拖动选择数字效果
2015/12/24 Javascript
实例详解AngularJS实现无限级联动菜单
2016/01/15 Javascript
angularjs定时任务的设置与清除示例
2017/06/02 Javascript
Vue中v-show添加表达式的问题(判断是否显示)
2018/03/26 Javascript
Angular ElementRef简介及其使用
2018/10/01 Javascript
vue实现搜索过滤效果
2019/05/28 Javascript
基于Vue el-autocomplete 实现类似百度搜索框功能
2019/10/25 Javascript
微信小程序学习总结(二)样式、属性、模板操作分析
2020/06/04 Javascript
python计算方程式根的方法
2015/05/07 Python
Python简单调用MySQL存储过程并获得返回值的方法
2015/07/20 Python
win7上python2.7连接mysql数据库的方法
2017/01/14 Python
浅谈flask截获所有访问及before/after_request修饰器
2018/01/18 Python
对pandas中apply函数的用法详解
2018/04/10 Python
python调用opencv实现猫脸检测功能
2019/01/15 Python
pycharm远程开发项目的实现步骤
2019/01/20 Python
python中利用numpy.array()实现俩个数值列表的对应相加方法
2019/08/26 Python
python中的itertools的使用详解
2020/01/13 Python
css3的过滤效果简单实例
2016/08/03 HTML / CSS
Skechers越南官方网站:来自美国的运动休闲品牌
2021/02/22 全球购物
大学生就业自荐信
2013/10/26 职场文书
高中生第一学年自我鉴定
2014/09/12 职场文书
公司股份转让协议书范本
2015/01/28 职场文书
社会实践活动报告
2015/02/05 职场文书
如何写辞职书
2015/02/26 职场文书
职工趣味运动会开幕词
2016/03/04 职场文书