JS继承的几种方式

function Animal(){

}
function Cat(){

}

 

1。构造函数继承
     Cat 方法里加上Animal.call(this);
    外部 var a = new Cat;
            var b = new Cat;

缺点:1.多次使用new 不能复用

           2.在prototype上的方法属性 无法获取

2.原型继承

Cat.prototype=new Animal();

改变了 prototype,引用传递 

3.寄生组合继承 

 Cat 方法里加上Animal.call(this);
function inhert(son,fa){
    var _proto=Object.create(fa.prototype);
    _proto.constructor=son;
   son.prototype=_proto;
}

 

你可能感兴趣的:(JS继承的几种方式)