JavaScript中內存問題

JavaScript 具備自動垃圾收集機制,也就是說,執行環境會負責管理代碼執行過程當中使
用的內存。其餘語言好比C 和C++,必須手工跟蹤內存使用狀況,適時的釋放,不然會造
成不少問題。而JavaScript 則不須要這樣,它會自行管理內存分配及無用內存的回收。
JavaScript 最經常使用的垃圾收集方式是標記清除。垃圾收集器會在運行的時候給存儲在內
存中的變量加上標記。而後,它會去掉環境中正在使用變量的標記,而沒有被去掉標記的變
量將被視爲準備刪除的變量。最後,垃圾收集器完成內存清理工做,銷燬那些帶標記的值並
回收他們所佔用的內存空間。ide


垃圾收集器是週期性運行的,這樣會致使整個程序的性能問題。好比IE7 之前的版本,
它的垃圾收集器是根據內存分配量運行的,好比256 個變量就開始運行垃圾收集器,這樣,
就不得不頻繁地運行,從而下降的性能。性能


通常來講,確保佔用最少的內存可讓頁面得到更好的性能。那麼優化內存的最佳方案,
就是一旦數據再也不有用,那麼將其設置爲null 來釋放引用,這個作法叫作解除引用。這一
作法適用於大多數全局變量和全局對象。優化

 

  
  
           
  
  
  1. var o = { 
  2.    name : 'Lee' 
  3. }; 
  4. o = null//解除對象引用,等待垃圾收集器回收
相關文章
相關標籤/搜索