三种常见继承

2017-03-19  本文已影响0人  沈墨空

1.原型继承

function A (){
    this.name = 'Jack';
}

function B (){
    this.type = 'type';
}

B.prototype = new A();

var b = new B();

console.log(b instanceof A);  // true

2.构造继承

function A (){
    this.name = 'Jack';
}

function B (){
    this.type = 'type';
    A.call(this);
}

var b = new B();

console.log(b instanceof A);  // false

对比

3.组合模式

function A (){
    this.name = 'Jack';
}
A.prototype.output = function(){
  console.log(this.name);  
}

function B (){
    this.type = 'type';
    A.call(this);
}

B.prototype = new A();

var b = new B();

b.output();  // 'Jack'

参考:http://web.jobbole.com/83319/

上一篇 下一篇

猜你喜欢

热点阅读