【发布时间】:2014-03-14 00:40:33
【问题描述】:
我有一个在 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。
标签: javascript oop prototype