原型链继承
1)修改子类的prototype的指向来实现
2)父类的属性和方法,以及父类原型对象上的属性和方法都可以获取到
3)继承来的属性在原型链上
// 父类
function Animal(classes){
this.classes = classes;
this.speed = 10;
this.hobby = "老鼠"
}
Animal.prototype.eat = function(){
console.log("吃吃吃");
}
// 子类
function Cat(age,color){
this.age = age;
this.color = color;
}
Cat.prototype = new Animal("猫");
//修改了原型对象,会造成原来的constructor属性丢失。所以,需要手动设置一下。
Cat.prototype.constructor = Cat;
var cat = new Cat(1,"blue");
//控制台打印
console.log(cat);