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:函數(shù)在創(chuàng)建的時(shí)候聲名上下文,在執(zhí)行的時(shí)候?qū)⒕植孔兞扛轮米饔糜蜴溨?,作用域鏈在?zhí)行的時(shí)候包含函數(shù)內(nèi)部的局部變量,比較疑惑的是unused函數(shù)未被執(zhí)行,怎么知道unused函數(shù)一定會引用originalThing的?問題2:這段內(nèi)存泄露怎么解釋,希望大牛們能解釋地詳細(xì)一點(diǎn)?
為什么下面這段代碼會出現(xiàn)內(nèi)存泄露?
萬千封印
2018-11-14 13:13:35