localStorage 持久存储,关闭浏览器不丢失;sessionStorage 仅限当前标签页会话,关闭即清空。二者均以字符串键值对存储,API 相同,容量约 5–10 MB,不参与网络请求,且均不安全,不可存敏感信息。
JavaScript 通过 localStorage 和 sessionStorage 提供了两种客户端存储机制,它们都以键值对(字符串)形式保存数据,但生命周期和作用域不同——localStorage 持久保存,除非手动清除;sessionStorage 仅在当前标签页会话期间有效,关闭标签即清空。
两者 API 完全相同,常用方法包括:
setItem(key, value):存入数据(value 会被自动转为字符串)getItem(key):读取数据,返回字符串或 null
removeItem(key):删除指定键clear():清空所有键值对key(index):获取第 index 个键名(用于遍历)length:返回当前存储的键值对数量注意:只能存字符串。若要存对象或数组,需先用 JSON.stringify() 序列化,读取时用 JSON.parse() 还原。
数据保存在浏览器中,不随页面刷新、关闭浏览器或重启电脑而丢失,有效期为永久(除非用户手动清除或代码调用 clear(/
)removeItem())。
立即学习“Java免费学习笔记(深入)”;
适用场景:
示例:localStorage.setItem('theme', 'dark') 后,下次打开网页仍可读到 'dark'。
数据只在当前浏览器标签页(tab)内有效,页面刷新保留,但关闭该标签页后数据立即销毁;新开标签页或窗口互不共享。
适用场景:
示例:sessionStorage.setItem('searchQuery', 'JavaScript'),刷新页面还在,关掉这个标签就没了。
对比维度如下: