jobo: "__proto__" nachbauen

Beitrag lesen

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