Hallo,
wie kann ein bereits existierendes Objekt von einem anderen erben bzw. dieses in seine Prototypenkette mit einhängen? Ich finde Mozillas __proto__, das macht das so:
var myObject = {
textIndivid : "myIndividualText",
textAll : "objtext",
fun : function () {
alert(this.textIndivid);
}
};
var myExtObject = {
textIndivid : "extIndividText"
};
myExtObject.__proto__ = myObject;
myExtObject.fun();//"extIndividText"
alert(myExtObject.textAll);//"objtext"
Wie kan ich das aber machen, ohne das proprietäre "__proto__"?
Nur mit einer Funktion wie dieser?
function extend(child, parent){
for (property in parent.prototype) {
if (typeof child.prototype[property] == "undefined") {
child.prototype[property] = parent.prototype[property];
}
}
return child;
}
Oder indem ich die o.g. Objekte erstmal als Funktionen definiere, dann den prototype der erbenden Funktion auf new ParentFunc(); setzte und mit new ChildClass(); ein Objekt erzeuge? Ich wollte irgendwie gerne auf des "new" verzichten bzw. schauen, wie es mit Objektliteralen geht.
Gruß
jobo