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