var
foo = (
function
() {
var
n = 0;
return
{
add:
function
() {
return
++n;
},
clearVariable:
function
() {
n =
null
;
}
}
})();
|
外部沒法訪問到閉包裏面的變量, 但能夠在閉包內部返回一個方法, 該方法將閉包內部的變量設置爲null, 讓變量失去引用,會被系統自動回收。閉包
實際上若是隻是要把閉包內的一些變量給刪除, 那麼我以爲這樣的程序設計是有問題的, 若是你的變量只須要用一次,就要刪除,那麼使用閉包來實現這樣的方法顯然是浪費。 若是閉包不須要了, 想刪除閉包,直接 foo = null; 就能夠了。spa