Was ist die Lebensdauer eines Objekts in JavaScript-Code, der die Vererbung von Prototypen verwendet?

8

Ich lese gerade "Javascript Good Parts", und ich stieß auf den folgenden Absatz

  

Wenn wir versuchen, einen Eigenschaftswert von einem Objekt abzurufen, und wenn der   Objekt fehlt der Eigenschaftsname, dann versucht JavaScript, abzurufen   der Eigenschaftswert vom Prototypobjekt. Und wenn dieses Objekt ist   fehlt die Eigenschaft, dann geht es zu seinem Prototyp, und so weiter bis   Der Prozess endet schließlich mit Object.prototype.

Wenn ich ein Objekt obj2 aus obj1 als Prototyp erstelle, bedeutet das, dass obj1 nicht zerstört werden kann, bis obj2 auch außerhalb des Geltungsbereichs liegt?

    
kaustubh 17.01.2012, 07:38
quelle

1 Antwort

5

Solange Sie die Vererbung Ihres Objekts erstellt haben (die Prototypen wurden verknüpft), glaube ich nicht, dass der Browser auf Ihre Verweise auf dieses Objekt angewiesen ist.

ex1:

%Vor%

ex2:

%Vor%

UPDATE: Dieses Verhalten könnte mit der Tatsache zusammenhängen, dass Sie in Javascript ein Objekt nicht genau zerstören können; Sie können nur alle Verweise darauf entfernen. Danach entscheidet der Browser über die Garbage Collection , wie mit den nicht referenzierten Objekten umgegangen werden soll.

    
gion_13 17.01.2012, 07:57
quelle

Tags und Links