Houyhnhnm: auf interne Variable zugreifen

Beitrag lesen

Hallo derletztekick,

delete löscht keine Objekte, sondern Variable.

Wenn man schreibt:

var x = new Array(...);
   var y = x;
   delte x;

dann existiert nach dem delete das Array-Objekt weiter, denn es gibt noch eine Referenz darauf, nämlich durch die Variable y; die Variable x ist danach undefined.

Erst wenn

delete y;

ausgeführt wird, wird das Array-Objekt als _Nebeneffekt_ zerstört.

Warum?

'Delete y' löscht die Variable y, was implizit den Referenzzähler des Array-Objektes auf 0 herunter zählt. Wenn der Referenzzähler eines Objektes 0 erreicht hat, wird es automatisch zerstört.

Gruß,

Houyhnhnm