1. 先定义原型继承关系,再添加子类的自定义方法或属性(原型的属性,即共享的属性和方法要在原型继承关系确立后,再定义)。
2. 利用原型链继承,给子类添加原型方法时,不可以重写prototype
function Animal(newAge){
this.age = newAge;
}
function Person(newId){
this.id = newId;
}
Person.prototype.eat = function(){
console.log("Person eat");
}
Person.prototype = new Animal(15);
let p = new Person("007");
console.log(p.id);
p.eat();
缺点:
1. 被继承的类型(父类)里包括引用类型的属性的时候,它会被所有实例共享其值
2. 创建子类型的实例时,没法传参给被继承类型。