解決JS內(nèi)存泄露之js對(duì)象和dom對(duì)象互相引用問(wèn)題
該問(wèn)題涉及到作用域鏈,js對(duì)象和dom對(duì)象互相引用的問(wèn)題。
因?yàn)閷?duì)于匿名函數(shù)而言,其作用域鏈包含三個(gè)對(duì)象:匿名函數(shù)的變量對(duì)象、doTry()的變量對(duì)象和全局變量對(duì)象。此時(shí)doTry函數(shù)對(duì)象中btn變量引用了dom對(duì)象,即doTry函數(shù)對(duì)象引用dom對(duì)象; 然后根據(jù)匿名函數(shù)包括的對(duì)象,dom對(duì)象的onclickà匿名函數(shù)對(duì)象、匿名函數(shù)對(duì)象àdoTry函數(shù)對(duì)象,即得dom對(duì)象引用doTry()。所以解釋了互相引用的情況存在,導(dǎo)致內(nèi)存無(wú)法。
解決思路:將互相引用中斷。
兩種方法解決:
以上所述是小編給大家介紹的解決JS內(nèi)存泄露之js對(duì)象和dom對(duì)象互相引用問(wèn)題,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)歡迎給我留言,小編會(huì)及時(shí)回復(fù)大家的!
- JS閉包、作用域鏈、垃圾回收、內(nèi)存泄露相關(guān)知識(shí)小結(jié)
- 解決js函數(shù)閉包內(nèi)存泄露問(wèn)題的辦法
- 淺談js 閉包引起的內(nèi)存泄露問(wèn)題
- JavaScript避免內(nèi)存泄露及內(nèi)存管理技巧
- 容易造成JavaScript內(nèi)存泄露幾個(gè)方面
- 關(guān)于js內(nèi)存泄露的一個(gè)好例子
- js內(nèi)存泄露的幾種情況詳細(xì)探討
- Javascript 閉包引起的IE內(nèi)存泄露分析
- 權(quán)威JavaScript 中的內(nèi)存泄露模式
- 總結(jié)JavaScript在IE9之前版本中內(nèi)存泄露問(wèn)題
相關(guān)文章
JavaScript構(gòu)造函數(shù)原理及實(shí)現(xiàn)流程解析
這篇文章主要介紹了JavaScript構(gòu)造函數(shù)原理及實(shí)現(xiàn)流程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11JS中三目運(yùn)算符和if else的區(qū)別分析與示例
本文是通過(guò)示例詳細(xì)分析了JS中三目運(yùn)算符和if else的區(qū)別,是篇非常不錯(cuò)的文章,這里推薦給大家。2014-11-11一個(gè)不錯(cuò)的用JavaScript實(shí)現(xiàn)的UBB編碼函數(shù)
一個(gè)不錯(cuò)的用JavaScript實(shí)現(xiàn)的UBB編碼函數(shù)...2007-03-03echarts多條折線(xiàn)圖動(dòng)態(tài)分層的實(shí)現(xiàn)方法
這篇文章主要介紹了echarts多條折線(xiàn)圖動(dòng)態(tài)分層的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05JS數(shù)組實(shí)現(xiàn)分類(lèi)統(tǒng)計(jì)實(shí)例代碼
本文通過(guò)實(shí)例代碼給大家介紹了js數(shù)組實(shí)現(xiàn)分類(lèi)統(tǒng)計(jì)的相關(guān)知識(shí),非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-09-09JavaScript創(chuàng)建對(duì)象的七種方式(推薦)
JavaScript創(chuàng)建對(duì)象的方式有很多,通過(guò)Object構(gòu)造函數(shù)或?qū)ο笞置媪康姆绞揭部梢詣?chuàng)建單個(gè)對(duì)象,顯然這兩種方式會(huì)產(chǎn)生大量的重復(fù)代碼,并不適合量產(chǎn)。接下來(lái)介紹七種非常經(jīng)典的創(chuàng)建對(duì)象的方式,他們也各有優(yōu)缺點(diǎn)2017-06-06