function outer(){
var a, b, c;
function inner1(){
...
}
function inner2(){
...
}
inner1();
inner2();
...
}
我想保持全局名稱空間乾淨,所以我寫了上面的代碼。內部函數僅用於Outer內部的代碼。但在此之後,我開始考慮這是否會導致任何記憶問題。我不確定內部函數是事先創建的還是每次創建outer()時都創建?他們會導致內存泄漏?這個javascript會導致內存泄漏嗎?
有人可以幫助解釋當調用outer()和返回時會發生什麼?請參閱我是否有任何關於JavaScript內存管理的好書或文章。我總是對這樣的問題感到困惑。謝謝。
那麼,如果他們正在出口和使用,我不會稱之爲泄漏。 – davin
@davin - nope,我也沒有。我沒有真正解決內存泄漏問題,只是每次調用outer()時創建內部函數的問題。 – nrabinowitz