Я хочу узнать конкретный конструктор, используемый для создания экземпляра объекта в javascript, а не тот, который является последним в цепочке прототипов. Рассмотрим код:Поиск конструктора в многоуровневом наследовании
function F(){};
function E(){};
function D(){};
function C(){};
function B(){};
function A(){};
E.prototype= new F();
D.prototype= new E();
C.prototype= new D();
B.prototype= new C();
A.prototype= new B();
a=new A();
Поиск скрипку here
a.constructor
возвращается function F(){}
, но я хочу метод, который возвращает function A(){}
, поскольку A
является конструктор используется для создания экземпляра объекта.
Как это можно достичь?
a.constructor.prototype дает мне F. –
я написал пост о «правильном» пути наследование настроек в JavaScript http://js-bits.blogspot.com/2010/08/javascript-inheritance-done-right.html –
вы можете проверить [classy.js] (https://github.com/classy,js) для java-подобных функций OOP (и поддержки для sweet.js) (я автор) –