localStorage 是最简单的浏览器存储:同源下约 5MB 空间,键值均为字符串,关闭浏览器不丢失。setItem / getItem / removeItem / clear 四个方法覆盖全部操作,无需任何库。
sessionStorage 是它的「标签页级表亲」:API 完全相同,但数据随标签页关闭而清除,且不在标签页间共享。两者都受同源策略约束,且只能存字符串——对象要先 JSON.stringify。
// 写入(对象需序列化) localStorage.setItem('user', JSON.stringify({ name: 'A', age: 18 })); // 读取(容错解析) function read(key, fallback) { try { return JSON.parse(localStorage.getItem(key)) ?? fallback; } catch { return fallback; } } // 跨标签页同步 window.addEventListener('storage', e => console.log(e.key, e.newValue));