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实时监听文本框状态的方法
Apr 26 Javascript
jQuery插件ajaxFileUpload实现异步上传文件效果
Apr 14 Javascript
jQuery插件简单实现方法
Jul 18 Javascript
jQueryUI Datepicker组件设置日期高亮
Oct 13 Javascript
js实现目录链接,内容跟着目录滚动显示的简单实例
Oct 15 Javascript
JS实现的模仿QQ头像资料卡显示与隐藏效果
Apr 07 Javascript
jquery学习笔记之无new构建详解
Dec 07 jQuery
解决Webpack 热部署检测不到文件变化的问题
Feb 22 Javascript
webpack-mvc 传统多页面组件化开发详解
May 07 Javascript
layer更改皮肤的实现方法
Sep 11 Javascript
IDEA安装vue插件图文详解
Sep 26 Javascript
Layui选项卡制作历史浏览记录的方法
Sep 28 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实现定时生成HTML网站首页实例代码
2008/11/20 PHP
开启CURL扩展,让服务器支持PHP curl函数(远程采集)
2011/03/19 PHP
php自动注册登录验证机制实现代码
2011/12/20 PHP
服务器变量 $_SERVER 的深入解析
2013/07/02 PHP
PHP图像处理之imagecreate、imagedestroy函数介绍
2014/11/19 PHP
PHP实现的曲线统计图表示例
2016/11/10 PHP
php字符集转换
2017/01/23 PHP
使用ThinkPHP生成缩略图及显示
2017/04/27 PHP
通过身份证号得到出生日期和性别的js代码
2009/11/23 Javascript
ExtJs使用IFrame的实现代码
2010/03/24 Javascript
基于jquery &amp; json的省市区联动代码
2012/06/26 Javascript
js通过元素class名字获取元素集合的具体实现
2014/01/06 Javascript
JavaScript使用Max函数返回两个数字中较大数的方法
2015/04/06 Javascript
Jquery ajax基础教程
2015/11/20 Javascript
javascript数组去重小结
2016/03/07 Javascript
animate 实现滑动切换效果【实例代码】
2016/05/05 Javascript
总结JavaScript设计模式编程中的享元模式使用
2016/05/21 Javascript
浅谈js对象的创建和对6种继承模式的理解和遐想
2016/10/16 Javascript
bootstrap基础知识学习笔记
2016/11/02 Javascript
Node.js的特点详解
2017/02/03 Javascript
微信小程序上滑加载下拉刷新(onscrollLower)分批加载数据(二)
2017/05/11 Javascript
原生JS实现的碰撞检测功能示例
2018/05/18 Javascript
详解如何在vscode里面调试js和node.js的方法步骤
2018/12/24 Javascript
vue + node如何通过一个Txt文件批量生成MP3并压缩成Zip
2020/06/02 Javascript
JavaScript缺少insertAfter解决方案
2020/07/03 Javascript
python控制台中实现进度条功能
2015/11/10 Python
基于Python的Post请求数据爬取的方法详解
2019/06/14 Python
Python tkinter布局与按钮间距设置方式
2020/03/04 Python
keras处理欠拟合和过拟合的实例讲解
2020/05/25 Python
解决python 执行sql语句时所传参数含有单引号的问题
2020/06/06 Python
Python 图片处理库exifread详解
2021/02/25 Python
德国在线订购鲜花:Fleurop
2018/08/25 全球购物
会计岗位职责
2013/11/08 职场文书
省委召开党的群众路线教育实践活动总结大会报告
2014/10/21 职场文书
2015年党员创先争优承诺书
2015/01/22 职场文书
校园广播站开场白
2015/06/01 职场文书