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

為了賬號安全,請及時綁定郵箱和手機立即綁定

為什么會引起循環(huán)引用和全局污染

文中說的把data直接放在元素對象上會引起虛幻引用和全局污染,這個不太好理解,請哪位大神幫忙舉個例子解釋一下?謝謝!

正在回答

2 回答

我理解的是,整個dom也屬于全局,多個js代碼對同一dom節(jié)點添加/修改數(shù)據(jù)可能會互相影響,也就是污染了dom元素這一個全局變量.

循環(huán)引用,這里用事件對象的回調(diào)函數(shù)為例子(取自《javascript高級程序設(shè)計》第三版 7.2.3):

function?assignHandler()?{
??var?ele?=?document.getElementById('someEle');
??ele.onclick?=?function()?{
????alert(ele.id);
??}
}

這里ele.onclick引用了匿名函數(shù),匿名函數(shù)又引用了ele(這里匿名函數(shù)實際引用assignHandler的活動對象,assignHandler的活動對象引用ele).因此,這里ele的引用數(shù)至少為1.

在IE9之前,由于dom采用的是引用計數(shù)的垃圾回收機制,因此這種情況下會導(dǎo)致其占用的內(nèi)存無法回收,造成內(nèi)存泄漏.

3 回復(fù) 有任何疑惑可以回復(fù)我~

冒泡?

0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消

為什么會引起循環(huán)引用和全局污染

我要回答 關(guān)注問題
微信客服

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

幫助反饋 APP下載

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

公眾號

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