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

前端本地存储技术笔记:localStorage 与 sessionStorage 详解

在前端开发中,本地存储是实现客户端数据持久化或临时缓存的核心技术之一,可避免频繁与服务器交互,提升用户体验。本文系统梳理两种常用本地存储方案 ——localStorage与sessionStorage的特性、用法及注意事项。

localStorage:持久化本地存储

核心特性
  • 存储位置:数据存储于用户浏览器的本地磁盘,而非内存,具备持久化特性。
  • 生命周期:数据默认永久保留,仅通过代码删除或用户手动清除浏览器缓存时才会失效(关闭浏览器、重启设备不影响数据)。
  • 存储格式:采用键值对(key-value)结构,且键和值均需为字符串类型(非字符串数据会被自动转换为字符串存储)。
  • 作用域:同一浏览器的同一域名下,所有页面共享localStorage数据;不同域名或不同浏览器间无法跨域访问。
基础操作(CRUD)
  • 存储 / 修改数据
    通过localStorage.setItem(key, value)方法实现,若key不存在则为“新增”,若key已存在则为“覆盖修改”。
    语法示例:

    // 新增数据:key为'age',value为'18'
    localStorage.setItem('age', '18');
    // 修改数据:覆盖key为'age'的原有值,更新为'20'
    localStorage.setItem('age', '20');
    
  • 获取数据
    通过localStorage.getItem(key)方法获取指定key对应的value,若key不存在则返回null。
    语法示例:

    const age = localStorage.getItem('age');
    console.log(age); // 输出结果:'20'(字符串类型)
    
  • 删除指定数据
    通过localStorage.removeItem(key)方法删除指定key对应的键值对。
    语法示例:

    localStorage.removeItem('age');
    console.log(localStorage.getItem('age')); // 输出结果:null
    
  • 清空所有数据
    通过localStorage.clear()方法清空当前域名下所有数据。
    语法示例:

    localStorage.clear();
    

sessionStorage:临时会话存储

核心特性
  • 存储位置:数据存储于浏览器内存,属于临时缓存。
  • 生命周期:数据仅在当前浏览器窗口(或标签页)的会话周期内有效,简单来说就是关闭窗口之后就会消失
  • 存储格式:与localStorage一致,键和值均需为字符串类型。
  • 作用域:仅在当前浏览器窗口(或标签页)内有效。
基础操作

API与localStorage完全一致,仅生命周期和作用域不同。
语法示例:

sessionStorage.setItem('token', 'abc123');
const token = sessionStorage.getItem('token');
sessionStorage.removeItem('token');
sessionStorage.clear();

关键注意事项:复杂数据类型的存储处理

问题场景

直接存储对象、数组等复杂数据类型会导致数据格式异常(如转换为"[object Object]")。
错误示例:

const user = { uname: 'pink', age: 18 };
localStorage.setItem('user', user); // 存储异常
console.log(localStorage.getItem('user')); // 输出:"[object Object]"
解决方案:JSON序列化与反序列化(stringify和parse)
  • 存储复杂数据
    const userStr = JSON.stringify(user);
    localStorage.setItem('user', userStr);
    
  • 获取复杂数据
    const userStr = localStorage.getItem('user');
    const userObj = JSON.parse(userStr);
    console.log(userObj.uname); // 输出:'pink'
    

核心差异对比

对比localStoragesessionStorage
生命周期持久化(手动删除才失效)会话级(窗口关闭自动失效)
存储位置浏览器本地磁盘浏览器内存
跨窗口共享同一域名下共享仅当前窗口有效
应用场景用户偏好设置临时表单数据、会话级Token

使用建议

长期数据用localStorage,临时数据用sessionStorage

http://www.dtcms.com/a/537643.html

相关文章:

  • LLMs之Router:vLLM Semantic Router的简介、安装和使用方法、案例应用之详细攻略
  • 2024ccpc郑州(LMFB)
  • 前端文件下载的多种方式:从简单到高级
  • 可信赖的武进网站建设万网 成品网站
  • 大气物流网站模块电商支付网站建设费进什么科目
  • Unity_Canvas_Canvas Scaler画布缩放器。
  • 邢台建设网站公司做网站买那种服务器
  • 企业智能体:企业智脑的最小智能单元,灵活响应多样化业务需求
  • Qt6中文路径
  • 操作系统5.3.5 固态硬盘SSD
  • 最强的手机网站建设环保行业网站开发
  • 二叉树笔记 2025-10-22
  • Gitee仓库清理指南:如何移除误传的无关文件并正确使用.gitignore
  • Linux下编译mjansson/mdns
  • 沈阳招标信息网网站排名优化建设
  • 建设宣传网站上的请示重庆专业网站公司
  • MySQL 深度解析:varchar (50) 与 varchar (500) 的底层差异及选型实践
  • 蓝桥杯知识点大纲(JavaC组)
  • 济南建站网站泛华建设集团有限公司网站
  • 如何做后台网站增删改企业二级域名自助建站平台
  • 网站建设在哪里发布网站页面建设方案书模板
  • 青岛seo网站关键词优化黑龙江建设人员证件查询网站
  • ansible实战- 关机
  • 做网站域名需哪些自贡企业网站建设公司
  • 网站建设与维护方案找建设企业网站公司
  • 网站备案名称修改seo关键词排名优化怎样收费
  • 外销网站php培训
  • 做wow宏的网站网站服务器租用一般费用
  • Rust宏编程完全指南:从基础到高级的元编程艺术
  • 网站制作 徐州哪个网站开发培训好