// es5
function person(name,age){
this.name=name,
this.age=age,
this.study=function(){
console.log(this,"好吃")
}
}
// 使用构造函数在原型实例上添加方法
person.prototype.drink=function(){
console.log(this,"好吃")
}
const father=new person("王汉迪","18")
// es5的继承
function son(name,age,hobby){
person.call(this,name,age),
this.hobby=hobby
}
const s=new son("王汉迪","18","好吃")
console.log(father,person.prototype.drink(),s);
// es6
class animal{
constructor(name,age){
this.name=name,
this.age=age
}
eat(){
console.log(this.name,"xuexi")
return "111"
}
}
class dog extends animal{
constructor(name,age){
super(name,age)
}
eat(){
console.log(this.name,"xue")
// super.eat()
return "111"
}
}
var f=new animal("ji",1)
var s1=new dog("goudan",2)
console.log(f.eat(),s1.eat())