localStorage是浏览器提供的同源、持久化字符串存储机制,容量5–10MB,需手动JSON序列化对象,支持setItem/getItem/removeItem/clear,可通过storage事件监听跨标签页变更,但不防XSS且无过期机制。
localStorage 是浏览器提供的一种简单持久化存储方式,数据保存在用户本地,关闭页面甚至重启浏览器也不会丢失,适合存少量字符串数据(比如用户偏好、登录状态标记等)。
存数据用 localStorage.setItem(key, value),取数据用 localStorage.getItem(key)。注意:value 必须是字符串,如果要存对象,得先用 JSON.stringify() 转成字符串;读出来时再用 JSON.
parse() 还原。
localStorage.setItem('theme', 'dark')
localStorage.setItem('user', JSON.stringify({name: '张三', id: 101}))
const user = JSON.parse(localStorage.getItem('user'))
用 removeItem(key) 删除某一项,用 clear() 清空全部 localStorage(谨慎操作,会影响所有键值)。
localStorage.removeItem('theme')
localStorage.clear()
localStorage 是**同源限制**的(协议+域名+端口完全一致才可访问),且容量一般为 5–10MB(因浏览器而异)。它不支持过期时间,也不能跨窗口实时同步变更(需配合 storage 事件监听)。
storage 事件,但注意:触发该事件的页面自身不会收到(只通知其他同源窗口)可以自己封装一层,自动处理 JSON 序列化和错误捕获,让使用更稳:
const LS = {
set(key, value) {
try {
localStorage.setItem(key, JSON.stringify(value));
} catch (e) {
console.warn('localStorage set failed:', e);
}
},
get(key) {
try {
const str = localStorage.getItem(key);
return str ? JSON.parse(str) : null;
} catch (e) {
console.warn('localStorage get failed:', e);
return null;
}
}
};
用起来就更顺手了:LS.set('cart', [{id:1, qty:2}]); const cart = LS.get('cart');
基本上就这些。localStorage 不复杂但容易忽略细节,用对了能省不少事。
# javascript
# java
# js
# json
# 浏览器
# 端口
# 工具
# ai
# win
# 常见问题
# 持久化存储
# xss
# NULL
# 封装
# try
# catch
# Token
# const
# 字符串
# console
# undefined
# symbol
# 对象
# 事件
# 清空
# 序列化
# 就更
# 再用
# 可通过
# 重启
# 它不
# 才可
# 先用
# 转成
相关栏目:
【
Google疑问12 】
【
Facebook疑问10 】
【
网络优化76771 】
【
技术知识130152 】
【
IDC云计算60162 】
【
营销推广131313 】
【
AI优化88182 】
【
百度推广37138 】
【
网站推荐60173 】
【
精选阅读31334 】
相关推荐:
如何在 ACF 中正确更新嵌套多层的 Group 字段子字段
c++怎么操作redis数据库_c++ hiredis库连接与命令执行【实战】
Win11怎么查看激活状态_查询Windows 11是否已永久激活【详解】
如何在Golang中使用log包输出不同级别日志_Golang log日志管理与分类
Win11怎么关闭触摸键盘图标_Windows11任务栏系统托盘设置
如何高效获取循环末次生成的 NumPy 数组最后一个元素(无需额外循环)
英国搜索:多数英国人认为语言搜索是未来搜索
php8.4匿名类怎么用_php8.4匿名类创建与使用场景【介绍】
Windows10系统怎么查看CPU温度_Win10性能监视器查看硬件数据
如何使用Golang指针与结构体结合_修改结构体内部字段
Win11怎么打开旧版计算器_Win11恢复传统计算器应用【详解】
Win10如何卸载Skype_Win10卸载Skype步骤【步骤】
Windows电脑如何进入安全模式?(多种按键方法)
Win11局域网共享怎么设置 Win11文件夹网络共享教程【详解】
Win11怎么格式化U盘_Win11系统U盘格式化与文件系统选择【教程】
PHP主流架构怎么监控运行状态_工具推荐【操作】
PHP接收参数值为空怎么办_判断和处理空参数方法说明【说明】
Win11怎么开启专注模式_Windows11时钟应用Focus Session
Windows10怎么查看硬件信息_Windows10硬件信息查询方法【指南】
Python项目回滚策略_发布安全说明【指导】
Python音视频处理高级项目教程_FFmpegPydub剪辑与特效
如何使用Golang template生成文本模板_动态生成HTML或文本
如何使用Golang理解结构体指针方法接收者_Golang修改字段实践
Windows家庭版如何开启组策略(gpedit.msc)?(安装方法)
Python与Docker容器化部署实战_镜像构建与CI/CD流程
Win11怎样安装剪映专业版_Win11安装剪映教程【步骤】
Python数据抓取合法性_合规说明【指导】
Python文件管理规范_工程实践说明【指导】
Windows10蓝屏SYSTEM_SERVICE_EXCEPTION_Win10驱动冲突排查
Win10怎样设置多显示器_Win10多显示器扩展设置【攻略】
Win11如何设置环境变量 Win11添加和修改系统与用户变量【教程】
如何在 IIS 上为 ASP.NET 6 应用排除特定目录并交由 PHP 处理
Win11截图快捷键是什么_Win11自带截图工具使用技巧【汇总】
如何在 Go 中正确测试带 Cookie 的 HTTP 请求
c++如何获取map中所有的键_C++遍历键值对提取所有key的方法
php8.4如何实现队列任务_php8.4redis队列简单实现方法【教程】
如何理解Go指针和内存分配关系_Go Pointer内存Model解析
php485返回数据不完整怎么办_php485数据分包重组处理方法【教程】
Win10怎样卸载TeamViewer_Win10卸载TeamViewer步骤【教程】
MAC如何快速搜索大文件_MAC磁盘空间分析与冗余数据清理【方法】
Win11怎么关闭右下角弹窗_Win11拦截系统通知广告【设置】
Python对象生命周期管理_创建销毁说明【指导】
VSC怎么快速定位PHP错误行_错误追踪设置法【方法】
Linux怎么实现内网穿透_Linux安装Frp客户端与服务端配置【方法】
如何在Golang中使用replace替换模块_指定本地或远程路径
Win11怎么关闭搜索历史_Win11清除任务栏搜索记录【隐私】
php删除数据怎么清空表_truncate与delete区别及用法【汇总】
Win10怎样安装Excel数据分析工具_Win10安装分析工具包步骤【教程】
mac怎么看硬盘大小_MAC查看磁盘存储空间与文件占用【详解】
Windows11怎么用“记事本”自动换行与编码 Windows11记事本启用自动换行选择UTF-8编码避免乱码兼容多语言【教程】
2025-12-16
致胜网络推广营销网专注海外推广十年,是谷歌推广.Facebook广告全球合作伙伴,我们精英化的技术团队为企业提供谷歌海外推广+外贸网站建设+网站维护运营+Google SEO优化+社交营销为您提供一站式海外营销服务。