我有使用原型继承JavaScript中像这样的构造函数链:如何在原型链中找到构造函数的根构造函数?
var Test = function(){};
var Foo = function(){};
var Bar = function(){};
var Baz = function(){};
Bar.prototype = new Baz();
Foo.prototype = new Bar();
Test.prototype = new Foo();
我想编写一个函数getRootConstructor(),使得
getRootConstructor(Test) === Baz.
的目标是,我可以做
getRootConstructor(Test).prototype = new UniversalBaseConstructor();
所以我可以在不破坏原型链的情况下为构造函数添加功能。这原来是非常不直观的。
由于你已经建立了继承,所以'(new Test())。constructor === Baz'。 – RobG