亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

jQuery_數據緩存學完總結


1.$.data(ele):靜態方法給每個對象上都附加一個uid,這樣即使對象有一樣的key也不會覆蓋由于uid不同獲取到的value也不同

2.$(ele).data():實例方法給對象中的DOM節點上附加uid,這樣后面的會覆蓋前面的,因為只附加上了最后的uid

例:

expando值,如jqueryExpando00001;

uuid值,如1;

cache塊,cache[uuid]=緩存內容;

dom或對象關聯expando和uuid,即dom[expando]=uuid或對象[expando]=uuid

?

可參考前面章節“jQuery緩存的設計思路”:

數據緩存,jQuery現在支持兩種:

1. dom元素,數據存儲在jQuery.cache中。

2. 普通js對象,數據存儲在該對象中。

處理方式:

1:如果是DOM元素,通過分配一個唯一的關聯id把DOM元素和該DOM元素的數據緩存對象關聯起來,關聯id被附加到以jQuery.expando的值命名的屬性上,數據存儲在全局緩存對象jQuery.cache中。在讀取、設置、移除數據時,將通過關聯id從全局緩存對象jQuery.cache中找到關聯的數據緩存對象,然后在數據緩存對象上執行讀取、設置、移除操作。

2:如果是Javascript對象,數據則直接存儲在該Javascript對象的屬性jQuery.expando上。在讀取、設置、移除數據時,實際上是對Javascript對象的數據緩存對象執行讀取、設置、移除操作。

3:為了避免jQuery內部使用的數據和用戶自定義的數據發生沖突,數據緩存模塊把內部數據存儲在數據緩存對象上,把自定義數據存儲在數據緩存對象的屬性data上。


正在回答

1 回答

贊+100

0 回復 有任何疑惑可以回復我~
#1

冥oo冥 提問者

非常感謝!
2016-12-25 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

jQuery_數據緩存學完總結

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號