LocalStorage 是浏览器提供的持久化存储方案,支持以键值对形式保存最多约5MB的字符串数据,具备页面关闭后数据不丢失、遵循同源策略、提供 setItem、getItem、removeItem 和 clear 等简单API的特点,可通过 JSON.stringify 和 JSON.parse 处理对象类型,适用于存储用户偏好、表单草稿等非敏感信息,但需防范XSS攻击、手动管理过期逻辑,并注意无痕模式下的限制。

LocalStorage 是 Web Storage API 的一部分,允许你在浏览器中以键值对的形式持久存储数据。与 Cookie 相比,LocalStorage 提供了更简单、容量更大的存储方式,适合保存非敏感的客户端数据。
LocalStorage 的基本特性
持久性:数据不会随着页面关闭而消失,除非手动清除或通过代码删除。
同源策略:只能在同一个协议、域名和端口下访问对应的数据。
存储大小:一般浏览器支持 5MB 左右,具体取决于浏览器。
仅字符串存储:虽然只能直接存储字符串,但可以通过 JSON 转换来保存数组或对象。
常用方法
LocalStorage 提供了几个简单的 API 方法:
- setItem(key, value):存储数据
- getItem(key):读取数据
- removeItem(key):删除某条数据
- clear():清空所有数据
- key(index):获取某个索引位置的键名
示例代码:
立即学习“Java免费学习笔记(深入)”;
// 存储数据
localStorage.setItem('username', 'Alice');
// 获取数据
const name = localStorage.getItem('username');
// 存储对象
const user = { name: 'Bob', age: 25 };
localStorage.setItem('user', JSON.stringify(user));
// 读取对象
const userData = JSON.parse(localStorage.getItem('user'));
// 删除数据
localStorage.removeItem('username');
// 清空全部
localStorage.clear();
使用场景与注意事项
适合用于保存用户的偏好设置(如主题、语言)、表单草稿、登录状态标记等。
但注意:
- 不要存储敏感信息(如密码、token),因为容易被 XSS 攻击窃取。
- 数据始终保留在本地,需自行管理过期逻辑(不像 Cookie 可设 expires)。
- 在无痕模式下可能受限或被清除。
基本上就这些。LocalStorage 使用简单,是前端本地存储的常用选择之一,只要注意安全和数据类型处理即可。不复杂但容易忽略细节。










