function create(obj){
function Df(){};
Df.prototype=obj;
return new Df();
}
function createexp(newobj,oldobj){
var cloneprototype=create(oldobj.prototype);
cloneprototype.constructor=newobj;
newobj.prototype=cloneprototype;
//newobj.prototype=oldobj.prototype;
//newobj.prototype.constructor=newobj;
}
function Person(){
this.name='li';
this.arr=[4,7];
}
Person.prototype.go=function(){
alert('hi');
}
function Boy(){
Person.call(this)
}
createexp(Boy,Person);
var man=new Boy();
alert(man.name);//li
man.go();//hi
//相对于组合式继承更加成熟 不会调用两次超类型上的构造函数
寄生组合式继承
最新推荐文章于 2024-03-01 16:51:46 发布