关于Javascript类继承的老话
继承,即重用。
如果放弃继承的固有思想,那么让b重用A的成员,即最简单和粗糙的方法,b = a;
所以,问题是:B的任何变化都是A(同一个对象)的变化。
嗯,只要复制一个,如果浅拷贝不够安全,请使用深拷贝。
问题:代码被重用,但内存被浪费(无论是变量还是方法,它是js中的对象)。
没有复制,只有读不写,你可以用JS的原型,b.__proto__ =答:一般情况下,我们不改变__proto__直接,它太暴力,和JS提供了一种方法,可以更轻柔地达到其目标object.create(B)。
这种方法是可行的,但这只是特定对象的重用模式。如果我们可以创建对象的ConstructorB,我们可以重用该对象的原型
答案是:认为B constructorb.prototype,看作为constructora.prototype。
问题:
uff1a解
当宣布ConstructorB,系统会自动让ConstructorB。原型。构造函数= constructorb;在上面的代码中,为了重用ConstructorA.prototype,它将失去构造函数和弥补。
以上是最基本的遗传。一个类调用构造函数,父类的成员是更常见的,比如这个。_super,以及如何实现传承模式更普遍,如= inheritfrom(B),等等,不在本文的范围^ O ^。
这就是您为您带来的Javascript类继承的全部内容。