方式:借用构造函数 原理:把父类做是普通函数,在子类的函数体里通过call方法执行,并且将父类中的this 修改为当B类的一个实例。
特点:只能将父类中的私有属性继承过来 作为子类的实例私有属性。
function A() {
this.a = 'aa'
this.say = () => console.log('saya')
}
A.prototype.public = 'public'
function B() {
console.log(this instanceof B) // true
A.call(this) // this 当前B类的一个实例
}
let b1 = new B()
console.log(b1) // {a: 'aa', say: fn}
let b2 = new B()
console.log(b2)//{a: 'aa', say: fn}
console.log(b1.say === b2.say)//true
// 借用构造函数继承
// 把父类当做普通函数,在子类的函数体里 通过call方法执行
// 并且将父类里的this 修改成当前B类的实例
// 特点:只能将父类中的私有属性继承过来 作为子类的实例私有属性