[英]Can an object be garbage collected if a reference to one of it's members still exists?
在Javascript中,據我了解,當頁面上不存在對項目的引用時,便會對其進行垃圾回收。
var obj = {
arr: [1,2,3]
};
var arr = obj.arr;
obj = "hello";
在上面的代碼中,我替換了對初始obj對象的引用。 我不再有對該對象的任何引用。 但是,我確實引用了該對象上的數組。 該對象是否一直保留到未引用arr為止? 還是可以將其收集為垃圾?
可以收集作為“ obj”值的對象,但它是與作為“ arr”值的對象(數組)分開的對象。 那一個不會被收集。
可以獨立於其屬性引用的對象來收集對象。
(嚴格來說,這一切都取決於收集器的詳細信息,但是由於屬性值不是包含對象的一部分,因此得知能夠做到這一點的我真的感到很驚訝。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.