2015-06-30 45 views

回答

1

根據MDN,許多類型的算法被用於垃圾收集...。在上述情況下,foo的範圍僅限於bar。所以,只要函數bar返回,它就會被垃圾回收。

引用計數的垃圾收集

這是最天真的垃圾收集算法。該算法 降低了「一個對象不再需要」的定義,而「一個 對象沒有其他對象引用它」。如果零參考指向此 對象,則該對象被視爲 垃圾可收集。

馬克 - 清除算法

該算法減少了「無需 對象了」發送「的對象是不可達」的定義。

該算法假設知道一組對象,稱爲根 (在JavaScript中,根是全局對象)。定期地, 垃圾收集器將從這些根開始,找到從這些根引用 的所有對象,然後從 引用這些的所有對象等。從根開始,垃圾收集器將因此 找到所有可到達的對象,並且收集所有不可達的物體。

foo在滿足雙方的算法進行垃圾回收

+0

在其他語言中是否需要手動完成? – tdoakiiii

+0

在C++的情況下,你需要手動完成 – gypsyCoder

相關問題