課程
/前端開發(fā)
/jQuery
/jQuery源碼解析(架構(gòu)與依賴模塊)
比如
var body1 = $("body")
var body2 = $("body")
他們的uid都是jQuery191019618577925292002這個緩存池中的3號位置,這是為什么
2017-01-16
源自:jQuery源碼解析(架構(gòu)與依賴模塊) 4-6
正在回答
相同的DOM元素或DOM對象,jquery源碼中$().data()代碼,有elem = this[ 0 ],elem為DOM元素,兩次為相同的對象,uid相同,緩存區(qū)相同,因此會被覆蓋。而$.data()代碼中,elem是jQuery的實(shí)例對象,不同的實(shí)例對象,分配了不同的緩存區(qū),$.data()不覆蓋。
是DOM元素,通過分配一個唯一的關(guān)聯(lián)id把DOM元素和該DOM元素的數(shù)據(jù)緩存對象關(guān)聯(lián)起來,關(guān)聯(lián)id被附加到以jQuery.expando的值命名的屬性上,數(shù)據(jù)存儲在全局緩存對象jQuery.cache中。在讀取、設(shè)置、移除數(shù)據(jù)時,將通過關(guān)聯(lián)id從全局緩存對象jQuery.cache中找到關(guān)聯(lián)的數(shù)據(jù)緩存對象,然后在數(shù)據(jù)緩存對象上執(zhí)行讀取、設(shè)置、移除操作。
舉報
由淺入深地剖析jQuery庫的設(shè)計與實(shí)現(xiàn),揭開框架背后的秘密
1 回答為什么jQuery作者把jQuery對象設(shè)計成類數(shù)組對象?
2 回答選擇器選擇ID不是只有一個的嗎?用[0]和不用[0]一樣呀,有什么意義嗎
1 回答jQuery對象和aQuery對象的區(qū)別問題
3 回答關(guān)于Cache對象和uid
2 回答jQuery對象與aQuery對象的差別與原因?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2018-10-11
相同的DOM元素或DOM對象,jquery源碼中$().data()代碼,有elem = this[ 0 ],elem為DOM元素,兩次為相同的對象,uid相同,緩存區(qū)相同,因此會被覆蓋。而$.data()代碼中,elem是jQuery的實(shí)例對象,不同的實(shí)例對象,分配了不同的緩存區(qū),$.data()不覆蓋。
2017-01-22
是DOM元素,通過分配一個唯一的關(guān)聯(lián)id把DOM元素和該DOM元素的數(shù)據(jù)緩存對象關(guān)聯(lián)起來,關(guān)聯(lián)id被附加到以jQuery.expando的值命名的屬性上,數(shù)據(jù)存儲在全局緩存對象jQuery.cache中。在讀取、設(shè)置、移除數(shù)據(jù)時,將通過關(guān)聯(lián)id從全局緩存對象jQuery.cache中找到關(guān)聯(lián)的數(shù)據(jù)緩存對象,然后在數(shù)據(jù)緩存對象上執(zhí)行讀取、設(shè)置、移除操作。