js组合继承与寄生继承

/* 组合继承*/
function Parent(){
this.name='wsq';
this.sex='nan';
this.sleep=function(){
alert("success");
}
};
Parent,prototype.eat=function(){
alert("yes");
};

function Clild(name){
Parent.call(this);//可以call多个函数,实现多继承
this.name=name;
}
/*1、重写原型对象,覆盖之前的,需重新指向构造函数,
2、第二次执行这个函数,避免了属性共享
*/
Clild.prototype=new Parent();
Clild.prototype.constructor=Clild;//构造函数指向
var Object1=new Clild('wang');//可以传参数

/*寄生组合继承*/

/
function Parent(){
this.name='wsq';
this.sex='nan';
this.sleep=function(){
alert("success");
}
};
Parent,prototype.eat=function(){
alert("yes");
};
function Clild(name){
Parent.call(this);
this.name=name;
}
(function(){
var paras =function(){};
paras.prototype=Parent.prototype;
paras.prototype.constructor=cat;
Clild.prototype=new paras();
})();

原文地址:https://www.cnblogs.com/wly-laowang/p/9878460.html