var theThing = null;
var replaceThing = function () {
var originalThing = theThing;
var unused = function () {
if (originalThing)
console.log("hi");
};
theThing = {
longStr: new Array(1000000).join('*'),
someMethod: function () {
console.log(someMessage);
}
};
};
setInterval(replaceThing, 1000);
问题1:函数在创建的时候声名上下文,在执行的时候将局部变量更新置作用域链中,作用域链在执行的时候包含函数内部的局部变量,比较疑惑的是unused函数未被执行,怎么知道unused函数一定会引用originalThing的?
问题2:这段内存泄露怎么解释,希望大牛们能解释地详细一点?
慕姐4208626
相关分类