1
如果我有一個包含id
的DOM元素的地圖,我想取消引用地圖中的條目,所以相應的元件可以通過垃圾收集器被拾起,有哪些步驟,我應該去通過確保沒有內存泄漏?我應該在地圖上輸入delete
還是= null
?我需要對元素本身做些什麼?Javascript地圖提領
如果我有一個包含id
的DOM元素的地圖,我想取消引用地圖中的條目,所以相應的元件可以通過垃圾收集器被拾起,有哪些步驟,我應該去通過確保沒有內存泄漏?我應該在地圖上輸入delete
還是= null
?我需要對元素本身做些什麼?Javascript地圖提領
(我的「映射」你的意思是「對象」。假設)
要永久刪除對象的屬性和值,使用delete
。使用null
將產生清除該值的效果,但保留該屬性。
雙方將允許垃圾回收的價值。
但是你要完成什麼,如果地圖上只引用一個ID字符串,就會有元素本身沒有任何影響。您需要刪除所有對元素的引用(在DOM和JavaScript中)以確保元素被垃圾收集。
我想這是因爲我用的是映射ID來在其他地方獲得的元素,在這種情況下,將參考已作出。 –
@JasonHu:JavaScript沒有指針,它的通過/分配始終是「按價值」,所以當你在使用地圖中的ID來獲得元素,使用ID字符串的副本,所以沒有引用保留。也就是說,JavaScript實現將字符串實現爲引用類型,這樣整個字符串就不需要被複制。但是除非你保留了一些對該字符串的永久引用,否則它將被收集。 –