Mam jakiś obiekt, na przykład son
, który chciałbym dziedziczyć z innego obiektu father
.Dodawanie prototypu do obiektu literalnego
Oczywiście mogę zrobić funkcję konstruktora dla ojca, jak
Father = function() {
this.firstProperty = someValue;
this.secondProperty = someOtherValue;
}
a następnie użyć
var son = new Father();
son.thirdProperty = yetAnotherValue;
ale nie jest to dokładnie to, co chcę. Ponieważ son
będzie miał wiele właściwości, łatwiej będzie mieć syna zadeklarowanego jako literał obiektowy. Ale nie wiem, jak ustawić prototyp.
Uprawiając jak
var father = {
firstProperty: someValue;
secondProperty: someOtherValue;
};
var son = {
thirdProperty: yetAnotherValue
};
son.constructor.prototype = father;
nie będzie działać, ponieważ wydaje się, że łańcuch prototyp ma być ukryty i nie dbają o zmianie constructor.prototype.
myślę, że mogę użyć właściwości __proto__
w Firefoksie, jak
var father = {
firstProperty: someValue;
secondProperty: someOtherValue;
};
var son = {
thirdProperty: yetAnotherValue
__proto__: father
};
son.constructor.prototype = father;
ale, o ile rozumiem, to nie jest to standardowa funkcja języka i lepiej jest nie używać go bezpośrednio.
Czy istnieje sposób na określenie prototypu obiektu literalnego?
http://stackoverflow.com/questions/1592384/adding-prototype-to-object-literal –