不使用class
function animal(color){
this.color=color
}
function dog(color,name){
animal.call(this,color) // 或者 animal.apply(this,arguments)
this.name=name
}
// 实现dog.prototype.__proto__=animal.prototype
function temp(){}
temp.prototype=animal.prototype
dog.prototype= new temp()
let dog1=new dog('白色','niko')
console.log(dog1)
结果如下:
使用class
class animal{
constructor(color){
this.color=color
}
}
class dog extends animal{
constructor(color,name){
super(color)
this.name=name
}
}
let dog1=new dog('白色','niko')
console.log(dog1)
和上图结果一致