快取機制提供的入口有:
$.data([key],[value]) // 訪問資料
$.hasdata(elem) // 是否有資料
$.removedata([key]) // 刪除資料
$.acceptdata(elem) // 檢測元素是否可以使用快取機制存資料
$(elem).data([key],[value]) // 訪問資料
$(elem).removedata([key]) // 刪除資料
已經閱讀了快取機制為使用者提供的入口,並且重點閱讀了$(elem).data()方法(其它方法都是直接呼叫data_user物件的方法),
接下來重點看data_user物件封裝的屬性和方法
data.prototype =
// 乙個暫時的物件,將被擴充套件到owner物件上。
var descriptor = {},
// 判斷owner物件上是否已經有這個jquery隨機產生的鍵。
// 這裡的this是後面new 出來的data物件,所以其expando是固定的值,對在該data物件內訪問資料的elem都是一致的
unlock = owner[ this.expando ];
// 如果沒有這個鍵,則為owner物件建立乙個。
if ( !unlock ) ;
// 再將descriptor關聯在owner上,使owner最終和unlock關聯起來,用於在cache中運算元據
// 第二個引數應該是字串?傳乙個物件進來不知道是怎麼操作的,需要深入了解下definepropertyies方法
object.defineproperties( owner, descriptor );
} catch ( e )
}// 如果cache[unlock]沒有值,則將其值設定為空物件
if ( !this.cache[ unlock ] ) ;
}//返回乙個cache的索引
return unlock;
},set: function( owner, data, value ) else else }}
return cache;
},get: function( owner, key ) ,
// 剩下的四個方法下次再看。
access : function(){},
remove : function(){},
hasdata : function(){},
discard : function(){} // data雖然封裝了這個方法,但並沒有暴露出來,也沒有在內部使用。作用是刪除owner儲存到cache中的所有資料
jQuery快取機制(一)
1 首先看一下涉及到jquery快取機制的 結構 定義一些jquery內部的變數,方便後續使用 var data user,data priv,後續會被賦值為兩個data物件 rbrace s s 匹配花括號和方括號及其中間的內容 rmultidash a z g 匹配大寫字母 定義data的建構函...
IOS 開發快取機制 記憶體快取機制
使用快取的目的是為了使用的應用程式能更快速的響應使用者輸入,是程式高效的執行。有時候我們需要將遠端 web伺服器獲取的資料快取起來,減少對同乙個 url多次請求。記憶體快取我們可以使用 sdk中的 nsurlcache類。nsurlrequest需要乙個快取引數來說明它請求的 url何如快取資料的,...
快取機制 全棧快取
1.配置檔案 cache middleware seconds 20 設定超時時間20秒 第一行和最後一行,位置不能放錯,只能放第一,和最後一行,又報錯是 modulenotfounderror no module named django.middleware.cache.updatecachem...