H5 本地存储详解
在 Web 开发中,我们需要一种比 Cookie 更强大的方式来保存用户数据。浏览器提供了两种主要的本地存储方案:localStorage 和 sessionStorage。它们的 API 基本一致,但生命周期不同,且都能提供约 5MB 的存储空间。
核心差异
- localStorage:存储的数据没有时间限制,除非手动清除,否则数据会一直保留。
- sessionStorage:当关闭浏览器窗口时,数据就会消失。它仅在当前会话期间有效。
注意:两者的操作接口完全相同,主要区别在于数据的持久化策略。
常用 API 实战
1. 存储数据 (setItem)
直接存储字符串或数字非常简单:
localStorage.setItem('name', 'Alice')
如果需要存储对象或数组,必须先序列化为 JSON 字符串:
const user = { id: 1, name: 'Bob' }
localStorage.setItem('user', JSON.stringify(user))
2. 获取数据 (getItem)
读取数据后,如果是之前序列化过的对象,记得反序列化:
const str = localStorage.getItem('name')
const user = JSON.parse(localStorage.getItem('user'))
3. 删除与清空
移除特定键值对:
localStorage.removeItem('name')
清除当前域下所有存储数据:
localStorage.clear()

