Всем привет,
var theItem = null;
var replaceItem = function () {
var priorItem = theItem;
var writeToLog = function () {
if (priorItem) {
console.log("hi");
}
};
theItem = {
longStr: new Array(1000000).join('*'),
someMethod: function () {
console.log(someMessage);
}
};
};
setInterval(replaceItem, 1000);
Есть вот такая вот задачка, c утечкой памяти в методе writeToLog. Каждый раз создается большой объект и ссылка на него сохраняется в определении функции writeToLog , сборщик мусора не удаляет объект, так как на него сохраняется ссылка. Итак далее по нарастающей. Как лучше решить данную задачу не передавая priorItem функции writeToLog в качестве параметра? Так как writeToLog не подразумевает работу с какими либо ещё переменными.