第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Js 內(nèi)存泄漏問題

Js 內(nèi)存泄漏問題

炎炎設(shè)計 2018-10-19 18:15:01
<html><body>    <script type="text/javascript">    document.write("Avoiding memory leak via closure by breaking the circular reference");    window.onload = function outerFunction() {      var obj = document.getElementById("element")      obj.onclick = function innerFunction() {        alert("Hi! I have avoided the leak");        // Some logic here      }      obj.bigString = new Array(1000).join(new Array(1000).join("XXXXX"))      obj = null //This breaks the circular reference    }    </script>    <button id="element">Click Me</button></body></html>在 https://www.ibm.com/developer... 這篇IBM 關(guān)于JS內(nèi)存泄漏的文章中,提到 DOM 與 JS 對象 obj 存在循環(huán)引用。為什么這兩者存在相互引用呢?另外,文中也提到解決方法:obj = null 打破循環(huán)引用。為什么我在 Chrome 的 Profile 中,無論 obj = null 是否存在這句,內(nèi)存占用量是相等的,是否說明這句無效,依然存在內(nèi)存泄漏呢?
查看完整描述

1 回答

?
蕪湖不蕪

TA貢獻(xiàn)1796條經(jīng)驗 獲得超7個贊

DOM與obj 循環(huán)引用 樓主你先要明白 id為element的這個元素和obj的關(guān)系 如果沒有定義obj這個變量 那這個dom節(jié)點就不存在了嗎?

obj=null只是把obj這個對節(jié)點的引用去掉了 這個元素本身還是存在的啊 所以內(nèi)存當(dāng)然沒有變化

樓主你調(diào)用一下obj.remove() 把節(jié)點從dom樹里刪除 就看出區(qū)別了 不過可能數(shù)據(jù)量太小不明顯


查看完整回答
反對 回復(fù) 2018-11-29
  • 1 回答
  • 0 關(guān)注
  • 514 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號