构造函数的五种继承方法
1、使用call或apply绑定构造函数
animal.apply(this.arguments)
2、使用prototype属性
Cat.prototype=new Animal();
Cat.prototype.constructor=Cat;
var cat1=new Cat("大毛","黄色");
alert(cat1.species);//动物
3、直接集成prototype属性
function Animal(){}
Animal.prototype.species="动物";
Cat.prototype=Animal.prototype;
Cat.prototype.constructor=Cat;
var cat1=new Cat("大毛","黄色");
alert(cat1.species);//动物
4、利用空对象作为中介
var F=function(){};
F.prototype=Animal.prototype;
Cat.prototype=new F();
Cat.prototype.constructor=Cat;
将上面的方法封装成一个函数,便于使用:
function extend(Child.Parent){
var F=function(){};
F.prototype=Parent.prototype;
Child.prototype=new F();
Child.prototype.constructor=Child;
Child.uber=Parent.prototype;
}
5、拷贝继承
function extend2(Child.Parent){
var p=Parent.prototype;
var c=Child.prototype;
for(var i in p){
c[i]=p[i];
}
c.uber=p;
}
这个函数的作用,就是将父对象的prototype对象中的属性--拷贝给Child对象的prototype对象
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步