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 相关文章推荐
window.open的功能全解析
Oct 10 Javascript
基于jQuery的弹出消息插件 DivAlert之旅(一)
Apr 01 Javascript
利用jQuary实现文字浮动提示效果示例代码
Dec 26 Javascript
js函数定时器实现定时读取系统实时连接数
Apr 30 Javascript
Node.js 制作实时多人游戏框架
Jan 08 Javascript
基于chosen插件实现人员选择树搜索自动筛选功能
Sep 24 Javascript
JavaScript基础教程之如何实现一个简单的promise
Sep 11 Javascript
js实现鼠标拖拽缩放div实例代码
Mar 25 Javascript
Element-ui自定义table表头、修改列标题样式、添加tooltip、:render-header使用
Apr 11 Javascript
通过seajs实现JavaScript的模块开发及按模块加载
Jun 06 Javascript
vue实现用户长时间不操作自动退出登录功能的实现代码
Jul 23 Javascript
Element中Slider滑块的具体使用
Jul 29 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读MYSQL中文乱码的解决方法
2006/12/17 PHP
PHP函数学习之PHP函数点评
2012/07/05 PHP
php读取excel文件示例分享(更新修改excel)
2014/02/27 PHP
smarty模板引擎中内建函数if、elseif和else的使用方法
2015/01/22 PHP
php微信公众平台开发之微信群发信息
2016/09/13 PHP
Laravel获取当前请求的控制器和方法以及中间件的例子
2019/10/11 PHP
CCPry JS类库 代码
2009/10/30 Javascript
js对象之JS入门之Array对象操作小结
2011/01/09 Javascript
jQuery学习笔记之控制页面实现代码
2012/02/27 Javascript
写得不错的jquery table鼠标经过变色代码
2013/09/27 Javascript
JavaScript常用字符串与数组扩展函数小结
2016/04/24 Javascript
JavaScript知识点总结(五)之Javascript中两个等于号(==)和三个等于号(===)的区别
2016/05/31 Javascript
jQuery深拷贝Json对象简单示例
2016/07/06 Javascript
在web中js实现类似excel的表格控件
2016/09/01 Javascript
基于javascript实现按圆形排列DIV元素(一)
2016/12/02 Javascript
Angular2学习笔记——详解路由器模型(Router)
2016/12/02 Javascript
jQuery插件版本冲突的处理方法分析
2017/01/16 Javascript
一步步教你利用Canvas对图片进行处理
2017/09/19 Javascript
React Native react-navigation 导航使用详解
2017/12/01 Javascript
VUE实现图片验证码功能
2020/11/18 Javascript
原生js+canvas实现验证码
2020/11/29 Javascript
[00:36]DOTA2上海特级锦标赛 LGD战队宣传片
2016/03/04 DOTA
举例详解Python中yield生成器的用法
2015/08/05 Python
python绘制中国大陆人口热力图
2018/11/07 Python
python计算阶乘和的方法(1!+2!+3!+...+n!)
2019/02/01 Python
pandas 层次化索引的实现方法
2019/07/06 Python
python中bs4.BeautifulSoup的基本用法
2019/07/27 Python
REN Clean Skincare官网:英国本土有机护肤品牌
2019/02/23 全球购物
日本乐天德国站:Rakuten.de
2019/05/16 全球购物
navabi英国:设计师大码女装
2019/06/25 全球购物
Jones Bootmaker官网:优质靴子和鞋子在线
2020/11/30 全球购物
歌颂党的演讲稿
2014/09/10 职场文书
工程安全生产协议书
2014/11/21 职场文书
颐和园导游词400字
2015/01/30 职场文书
开学典礼观后感
2015/06/15 职场文书
教你在 Java 中实现 Dijkstra 最短路算法的方法
2022/04/08 Java/Android