[latex]Mae govannen![/latex]
in Perl isses ja so nach meinem Verständnis, dass funktionsinterne Variablen nach dem Verlassen einer Subfunktion sterben, d.h., dass auch der MEM wieder freigegeben wird.
Ist das in JS auch so?
Generell schon, wenn die Variable nicht in einer Closure bewahrt wird und der Referenz-Zähler auf diese Variable auf 0 ist. Allerdings ist keine verbindliche Spezifikation für die Durchführung der Garbage-Collection vorgegreben, d.h. die Browserhersteller müssen sich selber darum kümmern (was natürlich dazu geführt hat, daß Microsoft es beim IE6 versaut hat und dieser bei zirkulären Referenzen den Speicher nie mehr freigibt. Siehe auch die FAQ von c.l.j.
Cü,
Kai
--
A workaround for an avoidable problem often adds clutter and overhead to the program which
could have been avoided by not creating the problem in the first place.(Garrett Smith/clj)
Foren-Stylesheet Site Selfzeug JS-Lookup
SelfCode: sh:( fo:| ch:? rl:( br:< n4:( ie:{ mo:| va:) js:| de:> zu:) fl:( ss:| ls:?
A workaround for an avoidable problem often adds clutter and overhead to the program which
could have been avoided by not creating the problem in the first place.(Garrett Smith/clj)
Foren-Stylesheet Site Selfzeug JS-Lookup
SelfCode: sh:( fo:| ch:? rl:( br:< n4:( ie:{ mo:| va:) js:| de:> zu:) fl:( ss:| ls:?