簡體   English   中英

DOM對象會在JavaScript中收集垃圾嗎?

[英]Do DOM objects get garbage collected in javascript?

var domElementReference = $(document.createElement('div'));

如果我實際上沒有將DOM元素插入頁面中,那么DOM元素會被破壞嗎(一旦domElementReference超出范圍)?

如果不是:如果我有一個創建DOM元素的構造函數,是否有自動方法可以在javascript中清除它們?

我要做的是將它們附加到元素上,然后使用

myChildNode.parentNode.removeChild(myChildNode);

但是,當對象超出范圍時,我不得不再次手動調用該函數,這有點弄亂了整個“垃圾收集”的想法。 是否有任何模式可以自動銷毀對象?

如果沒有將元素插入到DOM中,並且不存在其他引用,那么是的,它們將像其他變量一樣被垃圾回收。

現代瀏覽器使用標記掃描算法進行垃圾收集,這意味着垃圾收集器將查找並垃圾收集無法訪問的對象。 如果您在函數中創建元素,但未在其他位置分配引用或未將其插入DOM,則在函數完成后它們將有資格進行垃圾回收。

無需手動嘗試釋放JavaScript中的內存,所有操作都是隱式處理的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM