继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

JS实现继承,封装一个extends方法

lxcan
关注TA
已关注
手记 8
粉丝 20
获赞 150

父类

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();
打开App,阅读手记
1人推荐
发表评论
随时随地看视频慕课网APP