jobo: pass by reference - verständnisproblem

Beitrag lesen

Hallo,

[latex]Mae  govannen![/latex]

Was aber ist hiermit?

function funky (o) {
o = null;
}
var x = {};
funky(x);
alert(x);


> >   
> > Hier wird ja ein Objekt übergeben.  
>   
> Offenbar wird eine interne Kopie angelegt, sobald die Parameter-Variable »o« überschrieben wird.  
>   
> Belege muß ich schuldig bleiben; ich bin leider schon seit ~3 Jahren im Status "Will mich mal irgendwann™ näher mit JS-Interna befassen" gefangen. Scheiß Englisch. :(  Aber hier lesen sicherlich auch Leute mit Ahnung mit.  
>   
> Ich würde wohl, faul wie ich bin, wenn ich auf obigen Fall treffen würde, ganz pragmatisch vorgehen und »o« einfach explizit als Rückgabewert der Funktion definieren, ohne mich um das „Warum“ zu kümmern.  
  
Das Beispiel war ja nur wegen des "Warum" (;-).  
  
Warum kann ich das Objekt nicht überschreiben, wohl aber eine Eigenschaft/Property? Und wieso nennt sich das dann dennoch pass-by-reference? Vielleicht tauchen ja molily oder struppi auf. Oder ich versuche mal, dass da irgendwo in Crockfordnähe zu klären.  
  
  
Gruß  
  
jobo