首页 > 其他 > 详细

原型prototype

时间:2017-02-16 13:11:08      阅读:117      评论:0      收藏:0      [点我收藏+]

函数都有prototype属性

对象都有__proto__属性

 

原型就像是干爹,可以改变,可以多个

技术分享

function Cat(){
this.climb = function(){
alert("爬树");
}

}


function Bird(){
this.fly = function(){
alert("飞的更高");
}
}

老虎
function Tigger(){
// 私有属性
this.hunt = function(){
alert("打猎");
}
}
// 让造老虎的机器的原型为邻居家造出来的一只小猫
Tigger.prototype = new Cat();
// 不知道原型的就找个空对象
// 老虎内心知道自己的原型是那只小猫,它就让自己的一个__proto__指向这只小猫。老虎知道自己的母亲是谁,他就用一个construct指向他的母亲
var tiger = new Tigger();
tiger.hunt();
tiger.climb();
// 改变原型
Tigger.prototype = new Bird();
// 从新new一个,不从新new是要出错的,因为他只记得他的原型为Cat();
tiger = new Tigger();
tiger.fly();

 复制继承

function Goodchild(){
this.study = function(){
alert("读书");
}
}
function Badchild(){
this.can = function(){
alert("打游戏")
}
this.extend = function(obj){
for(var k in obj){
this[k] = obj[k];
}
}
}
// 复制继承
var good = new Goodchild();
var bad = new Badchild();
bad.extend(good);
bad.study();//坏孩子也会读书了

原型prototype

原文:http://www.cnblogs.com/niuniuniu/p/6404907.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!