Naja, eigentlich gibt es keine Notwendigkeit für eine solche Funktion, um den Speicher kümmert sich der Browser.
Oh doch! Es gibt ziemelich viele gelegenheiten, wo es sehr notwendig ist, warum der Browser plötzlich 100% CPU braucht (Ja, auch JavaScript kann arge Memoryleaks verursachen), oder warum ein Srcript "ewig" braucht bis es ausgeführt ist.
Das eine hat aber nichts mit den anderen zu tun. Memoryleaks sind Programmierfehler der Browser und eine fehlerhafte Schleife wirst du auch damit nicht in den Griff bekommen, dass du Speicher freigibst.
Das ist korrekt, aber wenn du weisst, an welcher Stelle der Browser "alle Viere streckt", kannst du deinen Kode dahingehend abändern. Es bleibt einem auch nichts anders übrig, wenn man die Seite benuztbar haben will.
Du weißt doch gar nicht an welcher Stelle und willst du in jeder Zeile eine Prüfung machen was, wieviel Speicher vebraucht hat?
Und die Speicherlöcher die mir bekannst sind, sind in der Praxis meistens irrelevant, da sie erst nach 10,000 von Zugriffen auftreten.
Und tools gibt es auch dafür, z.B. http://www.getfirebug.com/js.html
Ich hab den auch, benutzt ihn aber nie, damit kann man JS Speicher wieder frei geben oder auch den Verbrauch ermitteln?
Er kann schon mal helfen.
Tab: Console --> Profile --> Seite aufrufen, oder die Funktion ausführen --> nochmal Profile.
Das hat null mit dem Speicher zu tun. Mit einem Pofiler ermittelst du die Geschwindigkeit.
Danach kann man sehen welche Funktionen bzw. deren Teile wie oft aufgerufen und wie lange jeweils die Ausführung gebraucht hat. Das ist schon ein erster Indiz wenn man den Verdacht hat, dass der Browser irgendwo bei der Seite den Speicherbedarf ins "unermessliche" steigert.
Wieso sollte er das tun? Die Speicherlöcher die mir bekannt sind, wirst du auch mit solchen Hilfsmittel nicht finden und ansonsten ist mir zumindest noch keine Situation über dem Weg gelaufen wo ich gerne gewußt hätte wie gross der Speicherverbrauch ist, in Ermangelung an grossen Datenmengen spielen bei JS andere Faktoren eine Rolle.
Struppi.