function People(name,age,sex){
this.name = name
this.age = age
this.sex = sex
}
People.prototype.eat = function(){
console.log(this.name+"吃苹果")
}
一、原型链继承:将原型改成对应的对象
function Student(name,age,sex){
}
Student.prototype = new People("李白","18","男") //属性定死
问题:无法初始化对应的属性。
二、冒充继承:通过call或者apply改变原有函数的this指向
function Teacher(name,age,sex){
People.call(this,name,age,sex)
}
问题:不能继承人类原型链上的属性方法。
三、混合继承:冒充+原型链
function Student(name,age,sex){
People.call(this,name,age,sex)
}
Student.prototype = new People()