jQuery快取機制(三)

2021-09-09 03:13:48 字數 1333 閱讀 3704

快取機制提供的入口有:

$.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...