缓存里面都是字符串格式的
1.Window.localStorage (长期的缓存)
localStorage 里面存储的数据没有过期时间设置
// 封装一下本地缓存// 读和取//tsexport function setLocalStorage(key: string, value: any) {localStorage.setItem(key, JSON.stringify(value));}export function getLocalStorage(key: string) {return JSON.parse(localStorage.getItem(key)!); //非空断言!}export function removeLocalStorage(key: string) {localStorage.removeItem(key);}export function clearLocalStorage() {localStorage.clear();}
2.Window.sessionStorage (tab窗口关闭则数据丢失)
存储在 sessionStorage 里面的数据在页面会话结束时会被清除。
3.cookie
详见文档cookie
4.区别
localStorage生命周期是永久,这意味着除非用户显示在浏览器提供的UI上清除localStorage信息,否则这些信息将永远存在。
sessionStorage生命周期为当前窗口或标签页,一旦窗口或标签页被永久关闭了,那么所有通过sessionStorage存储的数据也就被清空了。
数据共享
不同浏览器无法共享localStorage或sessionStorage中的信息。
相同浏览器的不同页面间可以共享相同的localStorage(页面属于相同域名和端口)
但是不同页面或标签页间无法共享sessionStorage的信息。
这里需要注意的是,页面及标签页仅指顶级窗口,如果一个标签页包含多个iframe标签且他们属于同源页面,那么他们之间是可以共享sessionStorage的。
