天天看點

垃圾收集

垃圾收集器會按照固定的時間間隔周期性地進行垃圾收集,垃圾收集的問題是能否真的收集垃圾

1、标記清除

    最常用,變量進入環境時,标記為”進入環境“,變量離開環境時,标記“離開環境”,隻有标記為“離開環境”的變量才能進行垃圾收集,釋放記憶體

2、引用計數

   不常見, 存在循環引用問題,導緻記憶體永遠無法得到回收。

  當聲明了一個變量并将另一個引用類型的值賦給該變量時,則這個引用類型的值的引用次數為1,得了另一個值,則這個引用類型的值的引用次數減1,隻有引用次數為0才能進行垃圾收集,由于低版本IE有一部分對象不是原生JS實作的,采用的垃圾收集政策從根本上就存在循環引用問題

var element = document.getElementById("some_element");

var myObject = new Object();

//循環引用問題

myObject .element = element;

element.someObject = myObject;