首页 > web前端 > js教程 > 正文

JS中的localStorage怎么用?能存什么?

尼克
发布: 2025-06-09 22:54:05
原创
544人浏览过

localstorage 是 js 中用于持久化存储字符串数据的工具,即使页面刷新或浏览器关闭也不会丢失。它仅支持字符串类型,存储对象或数组时需先用 json.stringify() 转换,读取时用 json.parse() 还原。1. 存数据用 setitem(key, value);2. 取数据用 getitem(key);3. 删数据用 removeitem(key);4. 清空用 clear();5. 查看 key 用 key(index)。适合存用户偏好、静态缓存等非敏感信息,不适合频繁修改或敏感数据。使用时需注意:必须手动转换数据类型、避免超限、不可跨域共享、频繁读写影响性能,建议结合默认值处理以提高健壮性。

JS中的localStorage怎么用?能存什么?

localStorage 是 JS 里用来做本地存储的一个工具,简单又实用。它能存字符串数据,即使页面刷新或者浏览器关闭了,数据也不会丢。关键在于怎么用对地方,别乱用。


localStorage 能存什么?

localStorage 只支持字符串类型的数据。如果你要存对象、数组、数字这些,得先转成字符串。最常用的方法就是 JSON.stringify()。

比如:

const user = { name: "Tom", age: 25 };
localStorage.setItem("user", JSON.stringify(user));
登录后复制

反过来取的时候要用 JSON.parse() 把字符串还原回来:

const storedUser = JSON.parse(localStorage.getItem("user"));
登录后复制

别想着存函数或者 undefined,那些会被忽略或者出错。


基本操作:增删改查

localStorage 的 API 很简单,就几个方法:

  • 存数据:localStorage.setItem(key, value)
  • 取数据:localStorage.getItem(key)
  • 删数据:localStorage.removeItem(key)
  • 清空所有:localStorage.clear()
  • 查看 key:localStorage.key(index)(用于遍历)

举个例子:

localStorage.setItem("theme", "dark");
console.log(localStorage.getItem("theme")); // 输出 "dark"
localStorage.removeItem("theme");
登录后复制

注意:虽然操作起来像对象赋值一样方便,但它是同步的,不能异步操作,大数据量可能会卡界面。


什么时候适合用 localStorage?

  • 需要持久化保存用户偏好,比如主题、语言设置。
  • 存 token 或登录状态信息(不过要注意安全问题)。
  • 做缓存,减少重复请求,比如一些静态配置数据。
  • 不适合频繁变动的数据,也不适合敏感信息(因为是明文存储)。

如果只是临时用一下,可以用 sessionStorage,关掉标签页就自动清了。


使用时容易踩的坑

  • 忘记转字符串:直接塞对象进去会变成 [object Object]。
  • 超过容量限制:主流浏览器一般是 5MB 左右,超了会报错。
  • 跨域不共享:不同域名下的 localStorage 是隔离的,子域名也不行。
  • 读写频繁影响性能:特别是循环里面频繁 setItem,尽量合并操作。

建议在存之前判断是否存在,取值之后也最好做下默认值处理:

const theme = localStorage.getItem("theme") || "default";
登录后复制

基本上就这些。localStorage 用起来不难,但要注意场景和规范,别滥用就行。

以上就是JS中的localStorage怎么用?能存什么?的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号