peter: Referenzen und Objekte bei Javascript

Beitrag lesen

Hi,

Das ist mir zu ungefähr. Zeig' doch mal das kurzes Beispiel mit allen Ausgaben, so dass man nachvollziehen kan, was du genau meinst.

Das geht doch aus dem Code klar hervor.

Da geht nichts klar hervor!

function A(a)
{
   var a = a;

this.ausgeben = function ausgeben()
   {
      return a;
   }
}

function B(a)
{
   var a = a;

this.tuwas = function tuwas()
   {
      a = new A(new Array());
      //a ausgeben
   }
}

function C(meinarray)
{
   var meinA = new A(meinarray);

this.tuwas2 = function tuwas2()
   {
      var meinB = new B(meinA);
      meinB.tuwas();
      //Ausgabe von meinA
   }

this.ausgeben = function ausgeben()
   {
      return meinA.ausgeben();
   }
}

var c = new C(new Array("1", "2", "3"));
//meinA hat jetzt das Array gespeichert
c.tuwas2();
//Gibt jetzt kein leeres Array aus, sondern das Array mit den 3 Strings
c.ausgeben()

  
  
Ich glaube, du schmeißt da einiges durcheinander.  
  
Hier behauptest du, irgendwelche Sachen zu machen:  
  

> Wenn ich von B hingegen eine Methode von A aufrufen lassen, mit der A etwas in sich selbst ändert, dann bleibt die Änderung "für immer".  
> Wie erreiche ich es nun, dass B quasi A "löscht"?  
> Ich könnte in tuwas2() natürlich einfach "meinA = new A(new Array());" schreiben, aber das möchte ich nicht. Geht das auch anders?  
  
Wahrscheinlich machst du aber ganz andere Sachen als du denkst!!!  
Zeig doch mal den Code, der angeblich das Beschriebene machen soll.  
  
Ich sehe auch nicht, daß irgendwo etwas ausgegeben wird. Es wird immer nur etwas zurückgegeben.  
  
  
Gruß  
peter