一 什么是localStorage
對瀏覽器來說途乃,使用 Web Storage 存儲鍵值對比存儲 Cookie 方式更直觀进栽,而且容量更大溶浴,它包含兩種:localStorage 和 sessionStorage
sessionStorage(臨時存儲) :為每一個數(shù)據(jù)源維持一個存儲區(qū)域墩衙,在瀏覽器打開期間存在泌霍,包括頁面重新加載
localStorage(長期存儲) :與 sessionStorage 一樣,但是瀏覽器關(guān)閉后教沾,數(shù)據(jù)依然會一直存在
二 使用方法
注意:sessionStorage 和 localStorage 的用法基本一致蒲跨,引用類型的值要轉(zhuǎn)換成JSON,所以這里就只列舉localStorage
1 保存
//對象
const info = { name: ``'hou'``, age: 24, id: ``'001'
};
//字符串
const str=``"haha"``;
localStorage.setItem(``'hou'``, JSON.stringify(info));
localStorage.setItem(``'zheng'``, str);
2 獲取
var
data1 = JSON.parse(localStorage.getItem(``'hou'``));
var
data2 = localStorage.getItem(``'zheng'``);
3 刪除
//刪除某個
localStorage.removeItem(``'hou'``);
//刪除所有
localStorage.clear();
4 監(jiān)聽
Storage 發(fā)生變化(增加、更新授翻、刪除)時的 觸發(fā)或悲,同一個頁面發(fā)生的改變不會觸發(fā),只會監(jiān)聽同一域名下其他頁面改變 Storage
window.addEventListener(``'storage'``, ``function
(e) {
console.log(``'key'``, e.key); console.log(``'oldValue'``, e.oldValue);
console.log(``'newValue'``, e.newValue); console.log(``'url'``, e.url);
})