sessionstorage 是浏览器提供的会话级本地存储,关闭标签页即清空;存数据用 setitem()(值须为字符串,对象需 json.stringify);取数据用 getitem()(返回字符串,对象需 json.parse);删数据用 removeitem() 或 clear();仅同源同标签页共享,容量有限且不支持函数等非序列化值。

SessionStorage 是浏览器提供的本地存储机制,专门用于保存当前页面会话期间的临时数据——关闭标签页或窗口后自动清空,适合存登录态、表单草稿、临时筛选条件等。
怎么存数据:用 setItem() 方法
必须用字符串作为值,非字符串类型需手动转换:
- 基本用法:
sessionStorage.setItem('key', 'value') - 存对象要先 JSON 序列化:
sessionStorage.setItem('user', JSON.stringify({id: 1, name: '张三'})) - 存数字或布尔值也建议转成字符串,避免隐式转换出错,比如
sessionStorage.setItem('count', String(42))
怎么取数据:用 getItem() 方法
取出的是字符串,对象需手动解析:
批量分析录音转写,输出多维度拓客报告。触发词:录音分析、总结、音频总结、拜访记录总结。当用户提及「分析录音」「看看录音数据」「最近的录音」「通话记录」且意图为批量统计/分析时触发。仅出现「录音」或「拜访」时需结合上下文,若仅查看单条详情则不触发。
- 直接读取:
const value = sessionStorage.getItem('key') - 读取对象要 JSON.parse:
const user = JSON.parse(sessionStorage.getItem('user') || '{}')(加空对象兜底防报错) - 读取不存在的 key 返回
null,不是undefined,判断时注意用=== null或直接用逻辑运算符
怎么删数据:removeItem() 和 clear()
按需清理,避免内存残留或状态错乱:
- 删单个:
sessionStorage.removeItem('token') - 删全部(当前域名下所有 sessionStorage 数据):
sessionStorage.clear() - 常见场景:用户登出时清除 token 和用户信息;表单提交成功后清空草稿
注意事项和常见坑
SessionStorage 不是万能缓存,有明确边界:
- 只在同源、同标签页内共享,新开标签页或 iframe(跨域)互不可见
- 容量通常为 5–10MB,但超限时会抛
QuotaExceededError,写入前可加 try-catch - 不能存函数、undefined、Symbol 等非可序列化值,否则 JSON 失败
- 不参与网络请求,不会发到服务器,敏感信息如密码仍需服务端校验,不能仅靠前端存储保证安全
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










