JavaScript多重继承

function M1() {
  this.hello = 'hello';
}

function M2() {
  this.world = 'world';
}

function S() {
  M1.call(this);
  M2.call(this);
}

// 继承 M1
S.prototype = Object.create(M1.prototype);
// 继承链上加入 M2
Object.assign(S.prototype, M2.prototype);

// 指定构造函数
S.prototype.constructor = S;

var s = new S();
s.hello // 'hello:'
s.world // 'world'

上面代码中,子类S同时继承了父类M1和M2。这种模式又称为 Mixin(混入)。

原文来自:https://wangdoc.com/javascript/oop/prototype.html

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

相关阅读更多精彩内容

  • 简介 Class 可以通过extends关键字实现继承,这比 ES5 的通过修改原型链实现继承,要清晰和方便很多。...
    emmet7life阅读 441评论 0赞 0
  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 4,693评论 0赞 13
  • JavaScript面向对象程序设计 本文会碰到的知识点:原型、原型链、函数对象、普通对象、继承 读完本文,可以学...
    moyi_gg阅读 878评论 0赞 2
  • 相信大家都很熟悉“触龙说赵太后”的故事。从史书记载来看,这位赵太后在国家危难时临危不惧,主持朝政,接见外来...
    傲娇少女不可惹阅读 400评论 1赞 0
  • 今天做了一个决定,匆忙的、临时的、但很重要的,因为这个决定改变了我目前的生活状态。 晃晃荡荡这么多...
    成梅阅读 416评论 0赞 0

友情链接更多精彩内容