jQuery資料快取用法分析

2021-08-20 13:10:44 字數 866 閱讀 2161

在jquery的api幫助文件中,jquery這樣描述資料快取的作用:用於在乙個元素上訪問資料而避免了迴圈引用的風險。

一、定義快取資料

使用$(selector).data(name,value)方法可以為jquery物件定義快取資料。這些快取資料被存放在匹配的dom元素集合中所有dom元素中。

var $link = $('a');

$link.data('linktype', 'home');

說明:$(selector).data(name,value)可以在匹配的dom元素上存放任何格式的資料,而不僅僅是字串。

二、獲取快取資料

此時,只需要乙個引數即可,該引數指定快取資料的名稱。

var linktype = $link.data('linktype'); //'home'
說明:如果讀取的快取資料不存在,則返回值為undefined;如果jquery集合指向多個元素,則將只返回第乙個元素的對應快取資料。

三、刪除快取資料

removedata()函式能夠刪除指定名稱的快取資料,並返回對應的jquery物件。

//刪除快取資料的同時,返回對應的jquery物件。

var $a = $link.removedata('linktype');
四、jquery資料快取的使用規範

隨著呼叫data()函式次數增多,或者因使用不當,會使得cache物件急劇膨脹,最終影響程式的效能。

所以在使用jquery資料快取功能時,應及時清理快取物件。jquery提供了removedata()函式手動清除快取資料。根據jquery框架的執行機制,下面幾種情況不需要手動清除資料快取。

jQuery原始碼分析 資料快取系統

迴圈引用時的記憶體洩漏 直接暴露資料不安全 多自定義屬性對瀏覽器來說無意義 取資料的時候要對html節點進行操作 jquery快取系統解決了這個問題。從事件系統分化出來的 靜態方法 data ele 例項方法 ele data ele data 是對 data ele 的擴充套件,data ele ...

jQuery 2 0 3 原始碼分析 資料快取

var aa1 aaron var aa2 aaron 覆蓋 aa1.data a 1111 結果2222222 aa2.data a 2222 結果2222222 console.log aa1.data a console.log aa2.data a 不覆蓋 data aa1,b 1111 d...

jQuery資料快取 data name

data name 返回元素上儲存的相應名字的資料,可以用data name,value 來設定。如果jquery集合指向多個元素,那將只返回第乙個元素對應的資料。這個函式可以用於在乙個元素上訪問資料而避免了迴圈引用的風險。jquery.data是1.2.3的新版功能。你可以在很多地方使用這個函式,...