sessionstorage是会话级存储,仅在当前标签页有效,关闭即清除;支持setitem、getitem、removeitem、clear操作;仅存字符串,存对象需json序列化;不跨标签页共享,无过期机制,容量5–10mb。

sessionStorage 是浏览器提供的会话级存储机制,数据仅在当前浏览器标签页(或窗口)的生命周期内有效,关闭该标签页后自动清除。它适合存登录态、表单草稿、临时筛选条件等不跨页持久化的数据。
基本用法:存、取、删
sessionStorage 提供了类似对象的 API,但实际是 Storage 接口实例,只能存字符串。所有值都会被自动转为字符串,读取时需手动转换回来。
-
存数据:用
setItem(key, value),value 会被转成字符串
例如:sessionStorage.setItem('userName', '张三'); -
取数据:用
getItem(key),返回字符串或null
例如:const name = sessionStorage.getItem('userName'); // "张三" -
删单个:用
removeItem(key)
例如:sessionStorage.removeItem('userName'); -
清空全部:用
clear()
例如:sessionStorage.clear();
存对象或复杂数据
sessionStorage 只支持字符串,存对象需先序列化,读取时再解析:
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
- 存:
sessionStorage.setItem('user', JSON.stringify({ id: 123, role: 'admin' })); - 取:
const user = JSON.parse(sessionStorage.getItem('user') || '{}');(加|| '{}'防止解析 null) - 建议封装工具函数避免重复写 JSON 操作
注意作用域和限制
sessionStorage 的数据不会跨标签页共享,即使同源也不行;刷新页面不会丢失,但关闭标签页即销毁。
- 同一域名下,新开一个标签页访问相同页面,
sessionStorage是空的 - 不支持设置过期时间,也不受 cookie 设置影响
- 容量通常为 5–10MB(各浏览器不同),超出会抛
QuotaExceededError - 无法在 iframe 跨域子页面中直接访问父页的 sessionStorage
与 localStorage 的关键区别
别混淆两者:
- 生命周期:sessionStorage 关闭标签页就清空;localStorage 持久保存,需手动删
- 作用域:sessionStorage 每个标签页独立;localStorage 同源下所有标签页共享
- 适用场景:表单未提交前的暂存用 sessionStorage;用户偏好设置、长期 token 用 localStorage
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










