原來它才是真正的快取機制

2021-10-10 05:04:32 字數 1377 閱讀 9657

前面我們學習了 cookie 和 sessionstorage,他們都具有儲存功能,但各有各的用途。今天我們學習 localstorage,它才是真正的快取機制,也就是我們通常說的磁碟快取,他可以做到在這些場景下資料丟失:

前面我們學習了 cookie 和 sessionstorage,他們都具有儲存功能,但各有各的用途。今天我們學習 localstorage,它才是真正的快取機制,也就是我們通常說的磁碟快取,他可以做到在這些場景下資料丟失:

重新整理頁面;

切換 tab;

關閉瀏覽器;

它和 sessionstorage 一樣,都是 storage 的例項。要訪問同一 localstorage 的資料時,要保證協議、網域名稱和埠都一致才能夠訪問。

它與 sessionstorage 使用一致:

// 增加一條資料 

localstorage.setitem('logo', '前端小課, 幫助 10w 人入門並高階前端');

// 獲取一條資料,key 為 name

console.log(localstorage.getitem('name'));

// 獲取第一條資料的 key

console.log(localstorage.key(0));

// 刪除一條資料,key 為 logo

localstorage.removeitem('logo')

監聽事件

無論是 sessionstorage 還是 localstorage,當資料發生變化時都能夠監聽到,我們以 localstorage 為例來監聽一下 storage 的事件。需要注意一點,這種事件監聽在同一頁面並不會監聽到事件。比如:

a頁面:

訪問 http://localhost:2081/cookie/cookie.html ,如果在這個頁面接收監聽到事件,必須在另乙個同一位址的頁面進行修改 storage 才能觸發。在當前頁面修改 localstorage 即使頁面中加了監聽事件,也不會接收到事件。在 a 頁面中新增監聽事件:

window.addeventlistener('storage', event => );
b頁面:

訪問 http://localhost:2081/cookie/cookie.html ,如果對 localstorage 進行了修改,a頁面將收到 storage 被修改的事件。

localstorage.clear();

localstorage.removeitem('name');

同樣,監聽事件也適用於 sessionstorage。linux就該這麼學

31期 什麼才是自己真正想要的?為它奮鬥!

31期來最早的學員,快兩個月了 發生了很多變化,自己前期不是很好的學習心態!linux學的 out了 不過看到在兄弟連學習的兄弟姐妹們努力的學習 自己也在改變了!兄弟連的老師們都那個的。現在專心學習,用自己100 精力進來 努力做筆記,完成好作業。不會做,抄十次。再去理解為什麼 做好心態 要自信,絕...

31期 什麼才是自己真正想要的?為它奮鬥!

31期來最早的學員,快兩個月了 發生了很多變化,自己前期不是很好的學習心態!linux學的 out了 不過看到在兄弟連學習的兄弟姐妹們努力的學習 自己也在改變了!兄弟連的老師們都那個的。現在專心學習,用自己100 精力進來 努力做筆記,完成好作業。不會做,抄十次。再去理解為什麼 做好心態 要自信,絕...

什麼才是真正的愛情

參考 q 愛情是個經久不衰的話題,到底什麼才是真正的愛情呢?乙個哲人 愛情的最高境界,是兩情相悅,是心心相印,是無言的默契與心靈的共鳴,是自願的付出,是相互的愛戀 不是乙個人的追求,不是乙個人的等待,不是乙個人的思念,不是乙個人的得意,也不是乙個人的付出 真正的愛情,是兩個人的幸福,是兩顆心靈共同的...