function Parent(name) {
this.name = name
}
Parent.prototype.getName = function() {
return this.name
}
function Child() {
// 构造函数继承
// 改变this指向 指向Parent 传递参数
Parent.call(this, 'zhangsan')
}
// 原型链继承
// 浅拷贝一下~
Child.prototype = Object.create(Parent.prototype) //指向父类原型
// 指回 Child的constructor
Child.prototype.constructor = Child
// 测试
const child1 = new Child()
const child2 = new Child()
child1.name[0] = 'foo'
console.log(child1.name) // ['foo']
console.log(child2.name) // ['zhangsan']
child2.getName() // ['zhangsan']
es5 寄生式组合继承(终极版)
于 2022-10-20 16:41:24 首次发布