Итак, я знаю, как удалить одну переменную ... variable = null;или удалить переменную;но, скажем, у меня много разных переменных, которые все указывают на одно и то же значение, но я могу получить доступ только к нескольким из этих переменных, как я могу очистить это значение памяти.есть:
var a = {value:5}; //create the reference everything points to
var b = a;
var c = a;
CallFunctionThatKeepsReference(a);
//var x = a; //x in this function but I can't directly access x.
a = null; b = null; c = null; //the object still exists in x.
delete a; delete b; delete c; //the object still exists in x.
//What can I do to accomplish this effect...
Nuke(a); //or b, or c
//a,b,c,x now all point to null.
Я не могу получить доступ к x, потому что он хранится в функции, которую я вызываю.Это потому, что это гигантское закрытие и запускает асинхронный код setTimeout, поэтому он никогда не раскрывается.