刪除閉包

var  foo = ( function () {
     var  n = 0;
     return  {
         add:  function  () {
             return  ++n;
         },
         clearVariable:  function  () {
             n =  null ;
         }
     }
})();

外部沒法訪問到閉包裏面的變量, 但能夠在閉包內部返回一個方法, 該方法將閉包內部的變量設置爲null, 讓變量失去引用,會被系統自動回收。閉包

實際上若是隻是要把閉包內的一些變量給刪除, 那麼我以爲這樣的程序設計是有問題的,  若是你的變量只須要用一次,就要刪除,那麼使用閉包來實現這樣的方法顯然是浪費。   若是閉包不須要了, 想刪除閉包,直接 foo = null; 就能夠了。spa

相關文章
相關標籤/搜索