副队长JavaScript教程(64)-本地存储:localStorage 与 sessionStorage

发布时间:2026/10/30 17:36:00

副队长JavaScript教程(64)-本地存储:localStorage 与 sessionStorage 点此查看所有教程、项目、源码导航文章目录1. 背景2. WebStorage 基础特点3. localStorage 持久化存储4. sessionStorage 会话存储5. localStorage 和 sessionStorage 对比6. 入门常见坑点6.1 存入的值都会自动转为字符串6.2 不能直接存对象、数组6.3 只能在浏览器环境运行7. 小结1. 背景前面我们写的 DOM、BOM 案例有一个共同的问题只要刷新页面、关闭浏览器标签我们写的数据就全部消失了。因为 JS 里普通变量的数据是存放在内存中的页面一旦销毁内存就会释放数据没法保留。实际开发里我们经常需要把少量数据保存在浏览器里面下次打开页面还能继续读取这个能力就是本地存储。浏览器给我们提供了 WebStorage包含两个对象localStorage和sessionStorage。补充说明还有一种更早的存储方案叫做 Cookie它诞生时间更早使用场景更多和后端配合存储容量很小入门阶段我们先不深入讲解大家知道有这个东西即可。2. WebStorage 基础特点它们都是 window 身上的属性属于浏览器提供的 API完整写法window.localStorage、window.sessionStoragewindow 可以省略。只能保存字符串类型。如果直接放对象、数组会出现[object Object]这个问题这个问题我们放到下一篇结合 JSON 来解决。存储容量大概 5MB适合存放少量简单数据不适合存图片、视频这类大文件。存储的数据是按照「键值对」的形式存放一个键key对应一个值value。3. localStorage 持久化存储localStorage 是持久化本地存储。✅ 特点数据保存之后关闭标签页、关闭浏览器数据依然存在需要通过代码删除或者手动清除浏览器缓存数据才会消失。✅ 同一个域名下不同标签页可以共享 localStorage 的数据。它有 4 个核心方法// 3.1 存数据setItem(键名, 值)localStorage.setItem(username,小明);// 3.2 读数据getItem(键名)varnamelocalStorage.getItem(username);console.log(name);// 3.3 删除某一条数据removeItem(键名)localStorage.removeItem(username);// 3.4 清空全部数据clear()localStorage.clear();小提示如果读取一个不存在的 keygetItem 返回 null我们可以用这个判断数据有没有存过。我们来看下执行localStorage.setItem(username, 小明);代码后数据到底存到哪了这里可以发现实际上是存储到浏览器一个叫做“本地存储”的区域里面去了。4. sessionStorage 会话存储sessionStorage 是会话级别的存储。✅ 特点只在当前标签页会话内有效只要关闭这个标签页里面的数据直接清空。✅ 不同标签页之间sessionStorage 互相隔离不能共享。方法和 localStorage 完全一模一样只是对象名字不同// 存sessionStorage.setItem(age,18);// 读varagesessionStorage.getItem(age);console.log(age);// 删除单条sessionStorage.removeItem(age);// 清空全部sessionStorage.clear();我们继续看下执行sessionStorage.setItem(age, 18);后数据存储到哪了。这里可以发现实际上是存储到浏览器一个叫做“Session Storage”的区域里面去了。5. localStorage 和 sessionStorage 对比表格对比项localStoragesessionStorage生命周期永久保存需要手动清除当前标签页关闭标签页自动清空跨标签页共享同域名下多个标签页共享每个标签页独立互不共享APIsetItem / getItem / removeItem / clear和左边完全一样存储大小约 5MB约 5MB6. 入门常见坑点6.1 存入的值都会自动转为字符串localStorage.setItem(num,100);varreslocalStorage.getItem(num);console.log(typeofres);// string存的数字拿出来变成字符串如果后续需要使用数字进行计算读取之后要自己转成数字。6.2 不能直接存对象、数组varuser{name:小红,age:20};localStorage.setItem(user,user);varulocalStorage.getItem(user);console.log(u);// [object Object]不是我们想要的数据这个问题暂时先记住下一篇学习 JSON 之后就可以解决对象、数组的存储。6.3 只能在浏览器环境运行localStorage、sessionStorage 是浏览器提供的 API不属于 ES 语法在 Node.js 里面不能直接使用。7. 小结WebStorage 包含 localStorage、sessionStorage用来在浏览器本地保存少量数据。localStorage持久存储关闭浏览器数据还在同域名标签页共享。sessionStorage会话存储关闭当前标签页数据直接消失标签页隔离。四个通用方法setItem 存、getItem 读、removeItem 删单条、clear 清空全部。存储只能存字符串数字取出会变成字符串对象数组不能直接存储下一篇结合 JSON 实战。
延伸阅读

更多相关文章

2026/10/30 17:36:00

副队长JavaScript教程(63)-BOM之窗口大小与页面滚动

点此查看 所有教程、项目、源码导航 文章目录1. 背景2. 获取浏览器窗口可视区域大小2.1 innerWidth、innerHeight2.2 outerWidth、outerHeight(了解)3. 窗口缩放事件 resize4. 获取页面滚动距离 scrollX、scrollY5. 控制页面滚动的方法5.1 scrollTo (x, …

2026/10/30 17:30:59

栈、队列与二分:Agent Offer高频考点快速速记

文档知识库教程 【免费下载链接】agent_java_offer 公开的 Java 后端 / AI Agent / 系统设计 / 算法面试复习资料库 项目地址: https://gitcode.com/gh_mirrors/ag/agent_java_offer 点击查看 免费下载 备战 Java 后端 / AI Agent 面试时,栈、队列与二分…

2026/10/30 18:51:10

农业物联网与遥感技术在苗情灾情监控系统中的应用

1. 苗情灾情监控系统概述在现代农业生产中,及时掌握作物生长状况和灾害发生情况是提高农业生产效率的关键。苗情灾情监控系统通过整合物联网、遥感技术和数据分析手段,为农业生产者提供从田间到决策的全链条支持。这套系统能够实时监测作物生长参数、识别…

2026/10/30 18:51:10

防爆气象检测系统:集成化设计与工业安全应用

1. 防爆气象检测系统概述在石油化工、矿山开采、危化品存储等高危行业中,环境气象参数的实时监测直接关系到生产安全。传统气象站设备体积庞大、安装复杂,且难以满足防爆区域的特殊要求。而将气象监测功能集成到防爆屏幕中的解决方案,正在成为…

2026/10/30 18:51:10

R24烧写工具自动检测与多模块并发下载实践指南

简介:ResearchDownload_R24.0.0001 是一款面向手机维修与刷机从业者的烧写工具软件,用于把电脑端程序写入手机硬件模块,适合需要批量处理多台设备的场景,使用前需安装USB驱动并通过数据线或串口线缆连接手机。软件支持多COM口并行…

2026/10/30 18:51:10

OG05B1B全局快门与SCCB深度解析:硬件级图像同步与可靠寄存器控制

简介:本资源为豪威科技OG05B1B黑白CMOS图像传感器的官方技术手册PDF,面向嵌入式视觉系统工程师、机器视觉开发者及工业相机方案设计人员,解决高精度成像选型、全局快门参数配置与红外低照度性能评估等核心问题。手册完整涵盖PureCelPlus-S像素…

2026/10/30 18:51:09

微电网谐波注入主动保护技术原理与工程实践

1. 项目概述微电网作为分布式能源接入的重要形式,其保护系统的可靠性直接关系到供电安全。传统被动式保护在新能源高渗透率场景下存在灵敏度不足、选择性差等问题。基于谐波注入的主动保护技术通过在故障时主动注入特定频率谐波信号,利用信号传播特性实现…

2026/10/30 18:46:09

埃夫特离线编程实战:从虚拟仿真到产线节拍优化

简介:本资源是一份面向工业自动化工程师、机器人集成商及高校教学人员的埃夫特tVR_Factory离线编程软件技术详解文档,聚焦工业机器人虚拟仿真与离线编程核心能力,解决现场调试风险高、轨迹精度难保障、多品牌适配复杂等实际工程问题。文档为单…

2026/10/29 17:05:52

全国计算机二级C语言真题PDF高效刷题指南

简介:这份PDF是全国计算机二级C语言考试的试题与答案解析,专为备考二级C语言的考生准备。内容涵盖C语言特点与设计理念、程序基本组成单位、main函数执行流程、函数嵌套调用规则、标识符命名规范、整型实型字符型数据类型、八进制十六进制数合法形式、运…

2026/10/29 17:06:02

requests+BeautifulSoup:爬虫抓取h1标题的入门实战指南

简介:一份以实战为导向的Python爬虫入门资源,面向具备基本编程基础、希望快速掌握网络数据抓取的初学者,可解决从零编写简单爬虫的常见困惑。实例以requests库发送HTTP请求、BeautifulSoup解析HTML文档,完整演示从网页中提取 标题…

2026/10/29 17:06:13

递推最小二乘参数辨识MATLAB编程:二阶系统与渐消记忆实现

简介:这是一篇面向控制系统、信号处理与机器学习等领域学习者的最小二乘参数辨识程序说明文档。资源共包含一个docx格式文档,压缩包大小七十八KB,内容围绕递推最小二乘算法和渐消记忆最小二乘算法展开:先构造一个极点位于单位圆内…

2026/10/30 0:00:46

NCP1342高频准谐振反激控制器:从设计约束到验收的完整方案

简介:NCP1342 高频准谐振反激控制器应用介绍译文文档,面向电源设计工程师、硬件研发人员及开关电源学习者,帮助读者跨越英文原版资料的语言门槛,系统理解这款高集成度 QR Flyback 控制器的设计要点。文档围绕芯片核心特性展开&…

2026/10/30 0:00:46

NCP1342准谐振反激电源设计:从选型到验收的全流程解析

简介:这份文档面向电源设计工程师与开关电源学习者,系统梳理NCP1342高频准谐振反激控制器的应用要点,帮助读者快速理解这款高集成度离线电源变换器控制芯片的工作机制与设计方法。内容涵盖芯片核心特性、引脚功能定义、电气特性参数表、最大额…

2026/10/30 0:00:46

Web系统自动登出机制设计与实现全解析

1. 系统自动登出机制的设计初衷在各类Web应用和后台管理系统中,自动登出功能早已成为标配。这个看似简单的功能背后,实际上涉及用户安全、资源管理和体验优化的多重考量。作为从业十多年的老开发,我见过太多因为登出逻辑设计不当导致的安全事…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑