Get the App
SLTechnology News&Howtos  ›  Development  › 

How to implement Combinatorial inheritance by JavaScript

Shulou Source: shulou.com Published: 2022-06-03 10:44:44 10月01日 Update

This article will explain in detail how to achieve combinatorial inheritance in JavaScript. The editor thinks it is very practical, so I share it with you as a reference. I hope you can get something after reading this article.

1. Combinatorial inheritance integrates prototype chain and embezzlement constructor, and centralizes the advantages of both. Methods can be defined on prototypes for reuse, and each instance can have its own properties.

2. The parent constructor is called twice in the process.

Once the child constructor uses the parent constructor called by apply/call, and the other is the parent constructor called when the parent class instance is assigned to the prototype object of the child class when the child class uses prototype inheritance

Example

Function A (name,age,sex) {this.name = name; this.age = age; this.sex = sex; this.arrs = [1pr 2je 3]}; A.prototype.sayName = function () {return this.name} function B (name,age,sex) {A.apply (this,arguments)} B.prototype = new A () Object.defineProperty (B.prototype, "constructor", {enumerable:false, value:B}) let C1 = new B; let C2 = new B ('C2WH 18pr female'); console.log (C1.sayName ()); / / "C1" C1.arrs.push (4); console.log (C1.ageMatic C1.sextile C1.arrs); / 18LetterMale, console.log (C2.sayName ()) / / "C2" console.log (C2.agegradeC2.sexgradeC2.arrs); / 18recoveryfemaleinheritance, [1mem2jin3] this article on "how to achieve combinatorial inheritance in JavaScript" ends here. I hope the above content can be of some help to you, so that you can learn more knowledge. If you think the article is good, please share it out for more people to see.

Tags: Functions prototypes combinations instances articles subclasses more good practical advantages content objects properties articles methods tones knowledge procedures references help Apple Docker Huawei Linux macOS MariaDB Microsoft MySQL NVidia OPPO Reno Linux OPPO Reno NVidia MariaDB Shulou Technology