原理:原型链继承 + 借用构造函数继承 原型链继承 负责将父类公有 继承为子类的公有属性 借用构造函数继承 负责将父类私有 继承为子类的私有属性
缺点: 1.会把父类的私有属性继承过来两份 一份作为自己的私有 一份作为自己的公有 2.继承时,调用了两次父类
function A() {this.a = '私有'}A.prototype.text = '公有'// 原型链继承 负责继承公有B.prototype = new A()B.prototype.constructor = Bfunction B() {// 借用构造函数继承 负责继承私有A.call(this)}let b = new B()// text属性 是利用原型链继承 从父类继承过来的公有属性console.log(b.text) // '公有'// a属性 是利用借用构造函数 从父类继承过的私有属性console.log(b.a) // '私有'
