值得一看
双11 12
广告
广告

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

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 用起来不难,但要注意场景和规范,别滥用就行。

温馨提示: 本文最后更新于2025-06-10 10:39:42,某些文章具有时效性,若有错误或已失效,请在下方留言或联系易赚网
文章版权声明 1 本网站名称: 创客网
2 本站永久网址:https://new.ie310.com
1 本文采用非商业性使用-相同方式共享 4.0 国际许可协议[CC BY-NC-SA]进行授权
2 本站所有内容仅供参考,分享出来是为了可以给大家提供新的思路。
3 互联网转载资源会有一些其他联系方式,请大家不要盲目相信,被骗本站概不负责!
4 本网站只做项目揭秘,无法一对一教学指导,每篇文章内都含项目全套的教程讲解,请仔细阅读。
5 本站分享的所有平台仅供展示,本站不对平台真实性负责,站长建议大家自己根据项目关键词自己选择平台。
6 因为文章发布时间和您阅读文章时间存在时间差,所以有些项目红利期可能已经过了,能不能赚钱需要自己判断。
7 本网站仅做资源分享,不做任何收益保障,创业公司上收费几百上千的项目我免费分享出来的,希望大家可以认真学习。
8 本站所有资料均来自互联网公开分享,并不代表本站立场,如不慎侵犯到您的版权利益,请联系79283999@qq.com删除。

本站资料仅供学习交流使用请勿商业运营,严禁从事违法,侵权等任何非法活动,否则后果自负!
THE END
喜欢就支持一下吧
点赞9赞赏 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容