我有使用原型繼承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