如何在项目中使用本地存储_通过localStorage保存用户数据-css教程

localStorage只能存字符串,存对象需用JSON.stringify()序列化,取时用JSON.parse()反序列化并加try…catch;读取前须判空防null;无自动过期机制,需手动添加时间戳并校验。

localStorage 只能存字符串,别直接塞对象

直接 localStorage.setItem('user', { name: 'Alice' }) 不会报错,但实际存进去的是 [object Object]。JavaScript 会自动调用 toString(),结果就是个空壳。

正确做法是序列化:

  • 存的时候用 JSON.stringify(): localStorage.setItem('user', JSON.stringify({ name: 'Alice', id: 123 }))
  • 取的时候用 JSON.parse(): const user = JSON.parse(localStorage.getItem('user'))
  • 记得加 try...catch——如果存储内容被手动篡改或损坏,JSON.parse() 会直接抛 SyntaxError

读取时要检查值是否存在,避免解析 null

localStorage.getItem('user') 在键不存在时返回 null,不是 undefined。直接传给 JSON.parse(null) 会得到 null(不报错但结果意外),而更常见的是你期望一个对象却拿到 null,后续访问 user.name 就崩了。

稳妥写法:

  • 先判断: const raw = localStorage.getItem('user'); if (raw) { user = JSON.parse(raw); }
  • 或者用空值合并: const user = JSON.parse(localStorage.getItem('user') ?? '{}');(但注意这会把缺失键默认成空对象,未必符合业务逻辑)

localStorage 没有过期机制,得自己控制生命周期

它不会自动清理,也不会因为页面关闭或浏览器重启而失效。用户数据可能长期滞留,甚至跨会话“复活”,这在某些场景下是隐患。

常见应对方式:

夏夕资源网专注于CMS网站模板,主流语言整站网站源码下载,网站建设相关教程分享,好用的软件素材整合下载,提供一站式便捷自助服务。
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"zy.lucklyus.top",如遇到无法解压的请联系管理员!
夏夕资源网-网站模板_免费源码_资源素材 » 如何在项目中使用本地存储_通过localStorage保存用户数据-css教程
在线时间:12:00 - 22:00
关注微信公众号:微信公众号
站长邮箱:[email protected]
  • 运营天数: 1393+
  • 资源总数: 47989+
  • 用户总数: 1+
  • 今日更新: 0+
  • 访问次数: 4032871+
  • 本周更新: 0+
  • 最后更新: 2026-03-16

本站指数

×
  • 运营天数: 1393+
  • 资源总数: 47989+
  • 用户总数: 1+
  • 今日更新: 0+
  • 访问次数: 4032871+
  • 本周更新: 0+
  • 最后更新: 2026-03-16