当前位置: 首页 > news >正文

localStorage 和 sessionStorage

在前端开发中,localStoragesessionStorage 都是浏览器提供的 Web Storage API,用于在客户端存储数据,但它们在生命周期和作用域上有显著区别:

核心区别总结

  1. ​生命周期​​:

    • localStorage:数据永久存储,除非手动清除(通过代码、开发者工具或浏览器设置)。
    • sessionStorage:数据仅在当前会话有效(关闭标签页或浏览器窗口后自动清除)。
  2. ​作用域​​:

    • localStorage:同源(相同协议+域名+端口)的所有标签页和窗口共享。
    • sessionStorage:仅对当前标签页有效(即使是同源的其他标签页也无法访问)。

使用场景对比

特性localStoragesessionStorage
​持久性​适合长期保存数据(如用户偏好设置)适合临时数据(如表单草稿)
​共享性​多窗口共享数据仅限单标签页独立使用
​敏感数据​不推荐(易残留)更安全(会话结束即清除)

代码示例

// 存储数据
localStorage.setItem('theme', 'dark'); // 长期保存
sessionStorage.setItem('formDraft', JSON.stringify(data)); // 临时保存// 读取数据
const theme = localStorage.getItem('theme');
const draft = JSON.parse(sessionStorage.getItem('formDraft'));// 清除数据
localStorage.removeItem('theme'); // 需手动清除
// sessionStorage 关闭标签页后自动清除

注意事项

  1. ​存储限制​​:两者通常有约 5MB 的存储上限(不同浏览器可能差异)。
  2. ​同步操作​​:会阻塞主线程,大量数据操作建议用 IndexedDB
  3. ​数据类型​​:仅支持字符串,存储对象需用 JSON.stringify() 转换。
  4. ​隐私模式​​:部分浏览器的无痕模式下可能禁用 Web Storage。

http://www.lqws.cn/news/588979.html

相关文章:

  • ViT与CLIP:图像×文本 多模态读心术揭秘
  • python开篇介绍
  • 人工智能参与高考作文写作的实证研究
  • 大根堆加小根堆查找中位数o(N)时间复杂度
  • I/O I/O基本概念与基本I/O函数 6.30
  • CppCon 2018 学习:An allocator is a handle to a heap Lessons learned from std::pmr
  • 第八章IPv4、IPv6、ICMP、ARP、RARP
  • Mysql索引优化
  • 矩阵方程 线性代数
  • 深度学习04 卷积神经网络CNN
  • docker使用容器网络
  • SQL学习笔记5
  • python环境快速搭建
  • springboot中多个定时任务(@Scheduled)如何互不影响
  • jenkins集成sonarqube(使用token进行远程调用)
  • 查看CPU支持的指令集和特性
  • 项目:数据库应用系统开发:智能电商管理系统
  • 华为云Flexus+DeepSeek征文 | 基于华为云Flexus X实例部署Dify平台构建企业行政助手的可用性研究
  • 第 1 课:Flask 简介与环境配置(Markdown 教案)
  • HTML之常用基础标签
  • LeetCode Hot100(图论)
  • CSDN博客大搬家(本地下载markdown合适和图片本地化)
  • Python 爬虫入门教程:Requests 和 BeautifulSoup 实战
  • 设置方法区内存的大小
  • Linux 系统管理:自动化运维与容器化部署
  • 深入理解指针(3)
  • 【甲方安全建设】敏感数据检测工具 Earlybird 安装使用详细教程
  • httpd-devel 与服务无关
  • BERT 模型详解:结构、原理解析
  • AI编程实战:Cursor黑科技全解析