【JavaScript】localStorage

1. 什么是 localStorage

localStorage 是一个 JavaScript API,允许在浏览器中存储键值对数据。它提供了一个简单的持久性存储方案,数据保存在用户的本地浏览器中,并且在页面刷新或关闭后依然存在。它只能存储字符串类型的数据。

无痕模式下,关闭浏览器,localStorage 中存储的数据也会被清空。

2. 如何使用 localStorage

javascript 复制代码
// 存储数据
localStorage.setItem('key', 'value');

// 获取数据
const value = localStorage.getItem('key');

// 删除数据
localStorage.removeItem('key');

// 清空所有数据
localStorage.clear();
js 复制代码
console.log(localStorage,sessionStorage)
let color = {
    "c1": "red",
    "c2": "green"
}
// 存储时 都会先转为 string 所以我们如果想要存储复杂类型 需要转 json
localStorage.setItem('color', JSON.stringify(color))
console.log(JSON.parse(localStorage.getItem('color')))

3. localStorage 的容量限制是多少?

每个域名下的 localStorage 都有一定的存储容量限制,通常在 5MB 左右(远大于 cookie 的 4kb)。这个限制是浏览器实现的,不同浏览器可能有略微不同的限制。如果超过了这个限制,浏览器可能会提示用户清理缓存或拒绝继续写入数据(不同浏览器有相应的不同策略)。

4. localStoragesessionStorage 有什么区别?

localStoragesessionStorage 都属于 Web Storage API,但它们有一些关键区别:

  • localStorage 中存储的数据在页面关闭后依然存在,而 sessionStorage 中存储的数据在会话结束(页面关闭)后被清除。
  • localStorage 中的数据可以在同一域名下的任何页面间共享,而 sessionStorage 中的数据只能在同一页面的不同窗口或标签页间共享。
相关推荐
脱胎换骨-军哥15 分钟前
C++ 代码规范与格式化指南
开发语言·c++·代码规范
枕星而眠1 小时前
C++ STL Map容器完全指南:从有序红黑树到无序哈希表
java·开发语言
爱吃牛肉的大老虎2 小时前
Rust对象之结构体,枚举,特性
开发语言·后端·rust
bbq粉刷匠2 小时前
HashMap 底层原理深度拆解(二):putVal 完整链路解析(懒加载 · 链表遍历 · 尾插法)
java·开发语言·哈希算法
jarvisuni2 小时前
DeepSeekFlash前端依旧拉垮,而且变慢了很多!
前端·javascript·算法
@三十一Y2 小时前
C++:红黑树的实现
开发语言·c++
乐观勇敢坚强的老彭3 小时前
C++信奥:开关门、开关灯问题
开发语言·c++·算法
冻柠檬飞冰走茶3 小时前
PTA基础编程题目集 7-31 字符串循环左移(C语言实现)
c语言·开发语言·数据结构·算法
a1117764 小时前
中文优先的企业 RAG 知识库 开源项目
开发语言·开源·kotlin
破z晓4 小时前
javascript 导出excel表
开发语言·javascript·excel