方式:借用构造函数 原理:把父类做是普通函数,在子类的函数体里通过call方法执行,并且将父类中的this 修改为当B类的一个实例。

    特点:只能将父类中的私有属性继承过来 作为子类的实例私有属性。

    1. function A() {
    2. this.a = 'aa'
    3. this.say = () => console.log('saya')
    4. }
    5. A.prototype.public = 'public'
    6. function B() {
    7. console.log(this instanceof B) // true
    8. A.call(this) // this 当前B类的一个实例
    9. }
    10. let b1 = new B()
    11. console.log(b1) // {a: 'aa', say: fn}
    12. let b2 = new B()
    13. console.log(b2)//{a: 'aa', say: fn}
    14. console.log(b1.say === b2.say)//true
    15. // 借用构造函数继承
    16. // 把父类当做普通函数,在子类的函数体里 通过call方法执行
    17. // 并且将父类里的this 修改成当前B类的实例
    18. // 特点:只能将父类中的私有属性继承过来 作为子类的实例私有属性