localStorage和sessionStorage


這兩個是HTML5新增加的,經常用到,在這里記錄一下。

這兩個都是存儲在客戶端的,以鍵值對的形式存儲。

兩個的共同點都是存儲在客戶端也就是瀏覽器,存儲的數據大小是5M。比cookie的4K大了很多。

兩個的不同點是存儲的時間不一樣。

localStorage的生命周期可以說是永久,除了主動清除以外,是一直在客戶端保存的。

sessionStorage的生命周期和當前頁面有關,關閉當前頁面或者是關閉瀏覽器,數據就被清除掉。

具體使用哪一個,看實際項目需求。

說一下具體用法。

兩個的用法可以說一樣,具體就是保存到本地、從本地取出來、刪除存儲的數據、清除全部。

具體看下面代碼:

 1 //localStorage的用法
 2 //保存到本地,第一個參數是變量名,第二個是值
 3 localStorage.setItem('name','張三');
 4 //從本地取出,只有一個參數,存儲的變量名
 5 localStorage.getItem('name');
 6 //刪除某一個存儲的數據
 7 localStorage.removeItem('name');
 8 //清除所有的數據
 9 localStorage.clear();
10 //sessionStorage的用法,參考localStorage的用法 11 sessionStorage.setItem('name','李四'); 12 sessionStorage.getItem('name'); 13 sessionStorage.removeItem('name'); 14 sessionStorage.clear();

第一次使用這個的可能會問怎么知道數據有沒有存儲到客戶端,很簡單,就像我們查看元素一樣,localStorage和sessionStorage也可以在瀏覽器控制台查看,首先運行以下代碼:

1 //保存到本地
2 localStorage.setItem('name','張三');
3 
4 sessionStorage.setItem('name','李四');
5             

然后就可以看到下圖:

可以看到我們想要保存的數據已經存儲到了本地。 

上面只是簡單的存儲,在實際項目中可能會出現需要存儲數組或者是對象,這樣的情況下就不能像上面那樣簡單的存儲,需要轉換一下格式。

因為localStorage和sessionStorage是以字符串格式存儲到本地的。

對於需要存儲數組或者是對象,我們可以轉換一下格式,如下代碼:

1 //保存
2 setSession(key,value){
3     localStorage.setItem(key,JSON.stringify(value))
4 };
5 //取出
6 getSession(key){
7     return JSON.parse(localStorage.getItem(key))
8 };

上面是localStorage用法,sessionStorage同理。

刪除和清除全部還是上面代碼。

完。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM