html5本地存储主要有localStorage和sessionStorage,前者持久保存数据,后者仅在会话期间有效;两者均以字符串形式存储,需配合jsON.stringify和json.parse处理复杂数据;注意跨域限制、安全性及同步操作对性能的影响。

html5 提供了多种本地存储技术,让网页能在用户浏览器中保存数据,提升性能和用户体验。相比传统的 cookie,这些新方法容量更大、操作更方便、安全性更高。下面详细介绍 HTML5 常用的本地存储方式及其使用方法。
1. localStorage:持久化本地存储
localStorage 是最常用的本地存储方式,用于长期保存数据。只要用户不清除浏览器缓存,数据会一直存在,即使关闭浏览器或重启电脑也不会丢失。
特点:
常用方法:
立即学习“前端免费学习笔记(深入)”;
设置数据:
localStorage.setItem('username', 'Alice');
读取数据:
const name = localStorage.getItem('username');
删除数据:
localStorage.removeItem('username');
清空所有数据:
localStorage.clear();
2. sessionStorage:会话级存储
sessionStorage 与 localStorage 接口一致,但生命周期不同。它只在当前会话有效,一旦关闭浏览器标签页,数据就会被清除。
适用场景:临时保存表单数据、页面状态等不需要长期保留的信息。
基本操作:
sessionStorage.setItem('tempData', '临时内容'); const data = sessionStorage.getItem('tempData'); sessionStorage.removeItem('tempData');
3. 存储复杂数据:配合 JSON 使用
localStorage 和 sessionStorage 只能存储字符串,若要保存对象或数组,需先转换成 JSON 字符串。
示例:
const user = { name: 'Bob', age: 25 }; // 存储对象 localStorage.setItem('user', JSON.stringify(user)); // 读取并解析 const savedUser = JSON.parse(localStorage.getItem('user'));
注意:读取时要判断值是否存在,避免 JSON.parse 报错。
4. Web Storage 的限制与注意事项
虽然方便,但使用本地存储仍需注意以下几点:
- 跨域限制:不同域名无法访问彼此的存储数据
- 安全性:不要存储敏感信息(如密码、Token),因为容易被 xss 攻击窃取
- 浏览器支持:现代浏览器都支持,但旧版 IE 需注意兼容性
- 同步操作:读写是同步的,大量数据可能影响性能
基本上就这些。localStorage 和 sessionStorage 足以应对大多数前端本地存储需求,使用简单、兼容性好。合理利用它们,可以显著提升网页的响应速度和离线能力。不复杂但容易忽略的是数据类型的转换和异常处理。


