DaBear: Referenzen und Objekte bei Javascript

Beitrag lesen

Doofer Titel... aber naja. Ich hab folgendes Problem:

  
  
function A(a)  
{  
   var a = a;  
   //...  
}  
  
function B(a)  
{  
   var a = a;  
  
   this.tuwas = tuwas()  
   {  
      a = new A();  
      //a ausgeben  
   }  
}  
  
function C(meinarray)  
{  
   var meinA = new A(meinarray);  
  
   this.tuwas2 = tuwas2()  
   {  
      var meinB = new B(meinA);  
      meinB.tuwas();  
      //Ausgabe von meinA  
   }  
}  

Im Beispiel ist ungefähr das Kommandomuster umgesetzt.
Zunächst wird ein Objekt von C erschaffen und kriegt ein Array übergeben, worauf C ein neues A kreiert. Dann wird von C die funktion tuwas2() aufgerufen. Hier wird ein neues B erschaffen und das B kriegt das bereits bekannte A übergeben (als Referenz oder?). Nun wird vom B die Methode tuwas() aufgerufen, die das A quasi löscht bzw. halt ein neues A ohne Array erzeugt. Wenn man nun aber nach diesem Aufruf das A ausgibt, dann ist es plötzlich das alte A! Es wird vom B nicht gelöscht, die Arraywerte sind erhalten geblieben. Wenn ich jedoch innerhalb von B das A nach dem Löschen ausgebe, dann ist das A gelöscht.

Wie kommt das?