js继承

前端之家收集整理的这篇文章主要介绍了js继承前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

组合继承

分别继承超类自身的属性方法和超类原型的属性方法,这是属于数据类型与数据类型之间的继承.
缺点:会调用两次超类构造函数.一次是创建子类原型的时候,一次是在子类构造函数内部.

}
SuperType.prototype.sayName=function(){

alert(this.name);

}

function SubType(name,age){

//属性继承
SuperType.call(this,name);
this.age=age;

}

//方法继承
SubType.prototype=new SuperType();
SubType.prototype.construcor=SuperType;

SubType.prototype.sayAge=function(){
alert(this.age);
};

原型式继承

基于已有的对象创建新对象,意即将已有的对象赋值给新对象的原型.这是属于对象与对象之间的继承.

寄生式继承

寄生式继承式原型式继承的扩展,寄生式继承可以在返回对象前扩展这个对象(定义更多的属性方法),这和原型式继承一样,也是对象与对象之间的继承.
缺点:使用寄生式继承为对象添加函数,会由于不能做到函数的复用而降低效率.

var clone=object(original);
clone.sayHi=function(){
alert("hi");

};
return clone;

}

寄生组合式继承

寄生组合式继承是通过借用构造函数来继承属性,通过原型链的混成形式(组合继承和寄生式继承)来继承方法.这样以来,弥补了组合继承和寄生式继承单独存在的缺点。
寄生组合式继承是引用类型最理想的继承范式。

再次明确引用类型?

猜你在找的程序笔记相关文章