父类
function Person(name,age){
this.name = name;
this.age = age;
}
Person.prototype = {
eat:function(){
console.log(this.name+"正在吃饭...");
},
sang:function(){
console.log(this.name+"正在唱歌...");
}
}
var liuyu = new Person("刘雨", 26);
子类
function Student(name,age,score){
Person.call(this,name,age);
this.score = score;
}
封装一个extends方法
//子类 extends 父类
Function.prototype.extends = function(func, options){
for(var key in func.prototype){
this.prototype[key] = func.prototype[key];
}
for(var name in options){
this.prototype[name] = options[name];
}
}
子类可以继承父类的属性和方法,也可以扩展自己的属性和方法。extends方法参数:1.父类 2.需要扩展的属性和对象的一个对象集合。
Student.extends(Person,{
study: function(){
console.log(this.name+"正在学习...");
}
});
var can = new Student("can",21,"良好");
can.eat();
can.study();