var Obj = function(){}; var X = new Obj();
Come si cancella la memoria in Javascript?
X = null
memoria correttamente corretta?
Anche questo sarebbe equivalente?
var Obj = function(){};
var X = {};
X.obj = new Obj();
delete(X.obj);
EDIT Sembrerebbe che, anche se l'eliminazione di X.obj sarebbe non immediatamente cancellare la memoria, sarebbe utile la raccolta dei rifiuti. Se non elimini X.obj, ci sarebbe comunque un puntatore a un oggetto e quindi il GC potrebbe non pulirlo.
Anche se sto raccogliendo la risposta di @ delnan, se stai leggendo questo dovresti anche prendere l'articolo di Benubird.
Mi accorgo anche che ho originariamente scritto delete (X) in origine invece di delete (X.obj) - sorry.
Si dovrebbe spiegare perché sei interessato a "memoria cancellata". Riduce l'utilizzo della RAM? O per sicurezza? O qualche altra ragione? –
Per ridurre l'utilizzo della RAM/assicurarsi che il GC lo tocchi –
Mi piace questa domanda. Sfortunatamente come con la maggior parte degli ambienti gestiti dalla memoria, l'approccio migliore è lasciare che il GC faccia il suo lavoro. Oh, e stai attento ai riferimenti. –