继承

老版继承

call ()

function User(name, pass){
    this.name=name;
    this.pass=pass;
}
User.prototype.showName=function (){
    alert(this.name);
};
User.prototype.showPass=function (){
    alert(this.pass);
};
//继承
function VipUser(name, pass, level){
    User.call(this, name, pass);
    this.level=level;
}
VipUser.prototype=new User();
VipUser.prototype.constructor=VipUser;

VipUser.prototype.showLevel=function (){
    alert(this.level);
};

var v1=new VipUser('blue', '123456', 3);
v1.showName();
v1.showPass();
v1.showLevel();

ES6继承

extends 继承
super 超类/父类

class User{
    constructor(name, pass){
        this.name=name;
        this.pass=pass;
    }
    showName(){
        alert(this.name);
    }
    showPass(){
        alert(this.pass);
    }
}
//继承
class VipUser extends User{
    constructor(name, pass, level){
        super(name, pass);  //super(...args);
        this.level=level;
    }
    showLevel(){
        alert(this.level);
    }
}


var v1=new VipUser('blue', '123456', 3);
v1.showName();
v1.showPass();
v1.showLevel();
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 简介 Class 可以通过extends关键字实现继承,这比 ES5 的通过修改原型链实现继承,要清晰和方便很多。...
    emmet7life阅读 2,865评论 0 0
  • 简介 Class可以通过extends关键字实现继承。 上面代码定义了一个ColorPoint类,该类通过exte...
    oWSQo阅读 3,957评论 0 1
  • 继承是面向对象中一个比较核心的概念。其他正统面向对象语言都会用两种方式实现继承:一个是接口实现,一个是继承。而EC...
    lovelydong阅读 2,953评论 0 2
  • 继承6种套餐 参照红皮书,JS继承一共6种 1.原型链继承 核心思想:子类的原型指向父类的一个实例 Son.pro...
    灯不梨喵阅读 8,384评论 1 2
  • 2018年,在全体金海岸人默默无闻、无怨无悔、辛勤奉献下,日照市金海岸小学各项工作取得了新的发展进步,这其中,不仅...
    刘小丫_9932阅读 1,351评论 0 0

友情链接更多精彩内容