Ich baue ein Javascript-Spiel, das ein ‚Ebene‘ Objekt mit var erstellt:Wie erkennt man, ob ein Objekt in JavaScript in Garbage Collection gesammelt wurde?
function start() {
var myGameLevel = new Level(2);
}
Dieses „Stufe()“ Objekt eine Vielzahl von Funktionen hat, in erster Linie Elemente auf das DOM hinzufügen und sie interaktiv zu machen. Eine Vereinfachung:
function Level(i) {
var _difficulty = i;
this.init = function(){
jQuery("#container").append(...game elements here...);
jQuery("#button").on('click', function() {...});
}
}
Meine Frage: wie kann ich wissen, ob die Stufe Objekt in der ‚Start‘ Funktion erstellt wurde Müll gesammelt oder nicht? Ich möchte nur "var" -Variablen verwenden, damit es keine externen Referenzen gibt. Wenn das DOM von allen Spielelementen gelöscht wird, ERWARTE ICH das "Level" -Objekt, das aus dem Speicher freigegeben werden soll, aber wie kann ich sicher sein?
Wenn Sie Chrome verwenden, haben Sie die Speicherprofilerstellung im Debugger versucht? – dowomenfart
Nun, ich bin mir nicht sicher, wonach ich suchen soll? Da das gesamte Level-Objekt anonym ist? Der Chrome-Debugger verfügt über eine Vielzahl von Bildschirmen, Listen und Optionen. Wo würde ich mein "Level" -Objekt finden? – Kokodoko
@Kokodoko haben Sie eine Workaround? –