js localStorage用法:新增、修改、刪除


1.本地存儲

本地存儲是一個window的屬性,包括localStorage和sessionStorage,允許在瀏覽器中存儲 key/value 對的數據。

localStorage:用於長久保存整個網站的數據,保存的數據沒有過期時間,直到手動去刪除。

sessionStorage:伴隨着session,該數據對象臨時保存同一窗口(或標簽頁)的數據,在關閉窗口或標簽頁之后將會刪除這些數據。

存儲位置(以Chrome為例):C:\Users\用戶名\AppData\Local\Google\Chrome\User Data\Default\Local Storage。

2.瀏覽器要求

支持本地存儲,所需的瀏覽器版本:

官方建議是每個網站將本地存儲的大小控制在:5MB以內。

如何判斷瀏覽器是否支持本地存儲?

if(!window.localStorage){
     alert('This browser does NOT support localStorage');
}

本文將以localStorage為例進行說明。

3.localStorage用法

localStorage拓展了cookie的4K限制,可以將所需數據直接存儲到本地,相當於一個 5M 大小的針對於前端頁面的數據庫,相比於 cookie 可以節約帶寬;

我們可以把它簡單理解為:前端數據庫;

另外,本地存儲只能存字符串string,任何格式存儲的時候都會被自動轉為字符串,所以讀取的時候,需要自己進行類型的轉換。

以chrome瀏覽器為例,如何查看網頁的本地存儲?

f12調出開發者工具--》Application--》Storage--》就看可以看到:本地存儲和會話存儲啦;

需要點擊對應的網頁,才能顯示該網頁下的詳細數據存儲。

新增&修改數據的3種方式:

方式1

localStorage.key1=value1;

直接在控制台,輸入上述代碼即可。

 

我們可以看到:我第1次存儲的時候,由於沒有將值轉字符串,所以,js將它當成了變量。 

方式2

localStorage['key2']='value2';

這次調用報錯,是因為:不該在[]前加.點。

方式3(推薦使用)

localStorage.setItem('key3','value3');

這次,控制台輸出:未定義undefined,不用管,已經存儲成功了。

說明:上面的3種方式,如果原來的key不存在時,就是新增;key已經存在時,就是修改。

獲取數據的3種方式:

方式1

localStorage.key

方式2

localStorage['key']

方式3(推薦使用)

localStorage.getItem('key')

清除數據的2種方式:

方式1

localStorage.removeItem('key')

說明:返回undefined,不用管,可以成功刪除。

此時,我們可以看到:本地數據里,name3的鍵值對已經被移除了。 

方式2

localStorage.clear()

說明:返回undefined,不用管,可以成功清空所有數據。

 

此時,我們可以看到:本地數據已經被清空了。

獲取key和value的另一種方式

獲取key

localStorage.key(index)

獲取value

localStorage.getItem(localStorage.key(index))

獲取所有的key、value

for (var i = 0; i < localStorage.lenth; i++) {
    document.write(localStorage.key(i) + ':' + localStorage.getItem(localStorage.key(i)));
}

如何存取json數據?

存儲json數據;

用JSON.stringify(),將json對象轉json字符串。

var json = {'name':'Marydon'};
localStorage.setItem('NAME', JSON.stringify(json));

獲取json數據;

用JSON.parse(),將json字符串轉json對象。

補充一句:我們可以通過瀏覽器對這些存儲的本地數據進行:新增、修改和刪除操作。

寫在最后

  哪位大佬如若發現文章存在紕漏之處或需要補充更多內容,歡迎留言!!!

 相關推薦:


免責聲明!

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



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