- LocalStorage和SessionStorage都是用于將數(shù)據(jù)保存在瀏覽器中。
LocalStorage
- 不參與網(wǎng)絡(luò)傳輸。即HTTP 不會帶上 LocalStorage 的值
- 只有相同域名的頁面才能互相讀取 LocalStorage(沒有同源那么嚴(yán)格)
- 每個域名 localStorage 最大存儲量為 5Mb 左右(每個瀏覽器不一樣)
- 常用場景:記錄有沒有提示過用戶(沒有用的信息,不能記錄密碼)
- LocalStorage 永久有效,除非用戶清理緩存
localStorage.setItem('key', value) //存儲hash數(shù)據(jù)
localStorage.getItem('key')//獲得key對應(yīng)value
localStorage.removeItem('key')//刪除key對應(yīng)value
localStorage.clear()//刪除所有的數(shù)據(jù)
SessionStorage
1、2、3、4 同上,用法也同上
SessionStorage 在用戶關(guān)閉頁面(會話結(jié)束)后就失效。(和LocalStorage的區(qū)別)
LocalStorage和Cookie的區(qū)別
兩者其實(shí)沒有關(guān)系,名字都沒有聯(lián)系。經(jīng)常用來比較是因?yàn)長ocalStorage是HTML5的API,沒出來之前,都是使用Cookie來存儲數(shù)據(jù)的,但是使用Cookie存儲數(shù)據(jù)每次都會傳給服務(wù)器,太影響速率了。
- 每次http請求都會帶上Cookie給服務(wù)器,而LocalStorage不會
- Cookie可存放數(shù)據(jù)大小在4k以內(nèi),LocalStorage大小在5M左右
- Cookie有失效時間,由服務(wù)器設(shè)置。LocalStorage沒有失效時間