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获取GridView中用户点击控件的行号,列号
Apr 14 Javascript
javascript instanceof 内部机制探析
Oct 15 Javascript
ExtJs的Date格式字符代码
Dec 30 Javascript
javascript作用域容易记错的两个地方分析
Jun 22 Javascript
JS对img标签进行优化使用onerror显示默认图像
Apr 24 Javascript
AngularJS基础知识笔记之过滤器
May 10 Javascript
jQuery支持添加事件的日历特效代码分享(3种样式)
Aug 24 Javascript
jQuery日程管理插件fullcalendar使用详解
Jan 07 Javascript
基于MVC方式实现三级联动(JavaScript)
Jan 23 Javascript
vue2.0+koa2+mongodb实现注册登录
Apr 10 Javascript
JS散列表碰撞处理、开链法、HashTable散列示例
Feb 08 Javascript
详解vue后台系统登录态管理
Apr 02 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中的多行字符串传递给JavaScript的两种方法
2014/06/19 PHP
js新闻滚动 js如何实现新闻滚动效果
2013/01/07 Javascript
js动态给table添加/删除tr的方法
2013/08/02 Javascript
js左侧三级菜单导航实例代码
2013/09/13 Javascript
原生javascript实现无间缝滚动示例
2014/01/28 Javascript
深入探讨javascript函数式编程
2015/10/11 Javascript
Bootstrap模仿起筷首页效果
2016/05/09 Javascript
node.js 中国天气预报 简单实现
2016/06/06 Javascript
jQuery+HTML5实现弹出创意搜索框层
2016/12/29 Javascript
js实现瀑布流效果(自动生成新的内容)
2017/03/16 Javascript
nodejs个人博客开发第六步 数据分页
2017/04/12 NodeJs
bootstrap table表格客户端分页实例
2017/08/07 Javascript
jQuery实现倒计时功能 jQuery实现计时器功能
2017/09/19 jQuery
Vue中Table组件Select的勾选和取消勾选事件详解
2019/03/19 Javascript
JavaScript图片旋转效果实现方法详解
2020/06/28 Javascript
jQuery插件实现图片轮播效果
2020/10/19 jQuery
[52:08]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#2Fnatic VS OG第一局
2016/03/05 DOTA
Django卸载之后重新安装的方法
2017/03/15 Python
python使用mysql数据库示例代码
2017/05/21 Python
python实现石头剪刀布小游戏
2021/01/20 Python
Python configparser模块封装及构造配置文件
2020/08/07 Python
Python文件名匹配与文件复制的实现
2020/12/11 Python
HTML5画渐变背景图片并自动下载实现步骤
2013/11/18 HTML / CSS
结构工程个人自荐信范文
2013/11/30 职场文书
实习生的自我评价
2014/01/08 职场文书
两年的个人工作自我评价
2014/01/10 职场文书
软件部经理岗位职责范本
2014/02/25 职场文书
《风筝》教学反思
2014/04/10 职场文书
初中生期末评语大全
2014/04/24 职场文书
小区门卫岗位职责范本
2014/08/24 职场文书
建议书范文
2015/02/05 职场文书
导游词之日月潭
2019/11/05 职场文书
MySQL多表查询机制
2022/03/17 MySQL
SQL Server的存储过程与触发器以及系统函数和自定义函数
2022/04/10 SQL Server
MySQL创建管理LIST分区
2022/04/13 MySQL
xhunter1.sys可以删除嘛? win11提示xhunter1.sys驱动不兼容解决办法
2022/09/23 数码科技