localStorage、sessionStorage、cookie 使用整理
下面从这几方面进行梳理
- 存储形式
- 相同点
- 不同点
- 使用方法
- 用途
- 多标签之间通讯
一、存储形式
1、localStrong 、 sessionStorage 已key value 的方式存储
2、cookie 以字符串的形式存储 包括 name value expires(过期时间) path (允许访问路径)
二、相同点
localStorage、sessionStorage、cookie 都可以做数据存储
三、不同点
1、localStorage、sessionStorage 存储数据在 5M 左右(不同浏览器之间存在差异)cookie 存储数据在 4K 左右
2、localStorage、sessionStorage 存储不参与网络通讯,cookie 会携带在请求头参与网络通讯
3、localStorage 生命周期永久有效,除非手动删除。sessionStorage 存储在当前浏览器打开的标签页,当用户关闭标签页sessionStorage 存储内容自动清除。cookie 在不设置过期时间时,当浏览器标签页关闭时失效,设置过期时间则在超过过期时间时失效。
四、使用方法
存储数据
1、localStorage
window.localStorage.setItem(key, value: String)
2、sessionStorage
window.sessionStorage.setItem(key, value:string)
3、cookie
document.cookie = "key=value;key=value;";
获取数据
1、localStorage
window.localStorage.getItem(key)
2、sessionStorage
window.sessionStorage.getItem(key)
3、cookie
getCookie() {
const start = document.cookie.indexOf("name:=");
const end = document.cookie.indexOf(';', start)
if (end == -1) {
end = document.cookie.length
}
return unescape(document.cookie.substring(start, end))
}
获取cookie 的第二种方式
var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");
if(arr=document.cookie.match(reg))
return unescape(arr[2]);
else
return null;
删除数据方式
1、localStorage
window.localStorage.removeItem("key")
2、sessionStorage
window.sessionStorage.removeItem("key")
3、cookie
将 expires 设置为过期时间即可
五、用途
可以存储用户信息,记录用户行为,token,登录状态
六、多标签之间通讯
可以监听 storage 方法,当localStorage 值发生改变时可以触发其他标签页的 storage 方法。不同浏览器略有差异(IE:你们都看我干嘛)
window.addEventListener('storage', storageListener, false)
function storageListener(event) {
console.log('---------------- event ------------', event);
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!