什么是HTML5中的Web存储API,包括LocalStorage和SessionStorage?它们的区别是什么?

2023-09-18 08:04:56


⭐ 专栏简介

前端入门之旅:探索Web开发的奇妙世界 欢迎来到前端入门之旅!感兴趣的可以订阅本专栏哦!这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发者,这里都将为你提供一个系统而又亲切的学习平台。在这个专栏中,我们将以问答形式每天更新,为大家呈现精选的前端知识点和常见问题解答。通过问答形式,我们希望能够更直接地回应读者们对于前端技术方面的疑问,并且帮助大家逐步建立起一个扎实的基础。无论是HTML、CSS、JavaScript还是各种常用框架和工具,我们将深入浅出地解释概念,并提供实际案例和练习来巩固所学内容。同时,我们也会分享一些实用技巧和最佳实践,帮助你更好地理解并运用前端开发中的各种技术。

在这里插入图片描述

不仅如此,我们还会定期推出一些项目实战教程,让你能够将所学知识应用到实际开发中。通过实际项目的练习,你将能够更好地理解前端开发的工作流程和方法论,并培养自己解决问题和独立开发的能力。我们相信,只有不断积累和实践,才能真正掌握前端开发技术。因此,请准备好迎接挑战,勇敢地踏上这段前端入门之旅!无论你是寻找职业转型、提升技能还是满足个人兴趣,我们都将全力以赴,为你提供最优质的学习资源和支持。让我们一起探索Web开发的奇妙世界吧!加入前端入门之旅,成为一名出色的前端开发者! 让我们启航前端之旅,下面图片中介绍的是博主除了本专栏外正在输出的其他专栏;(跳过下方的图片咱们开始今天的正文!!!)

在这里插入图片描述


⭐ Web存储API和区别

HTML5中引入了两种用于在客户端存储数据的机制:LocalStorageSessionStorage。它们允许开发者在用户的浏览器中存储数据,以便在不同页面和会话之间保持状态。下面是它们的区别和用法:


⭐ LocalStorage(本地存储)

LocalStorage是一种持久性存储机制,数据存储在用户的浏览器中,并且在浏览器关闭后仍然保持不变。主要特点包括:

  1. 持久性:数据会一直保留,即使浏览器关闭或重新启动也不会丢失。
  2. 存储容量:通常允许存储5-10MB的数据,具体容量取决于浏览器。
  3. 作用域:存储的数据在同一浏览器的所有窗口和标签页之间共享,即同源的所有页面都可以访问相同的LocalStorage数据。
  4. APILocalStorage可以使用localStorage对象来访问,如localStorage.setItem(key, value)localStorage.getItem(key)

示例:

// 存储数据到LocalStorage
localStorage.setItem('username', 'john_doe');

// 从LocalStorage中获取数据
const username = localStorage.getItem('username');

⭐ SessionStorage(会话存储)

SessionStorage是一种会话级别的存储机制,数据在浏览器会话期间保持不变。主要特点包括:

  1. 会话级别:数据仅在浏览器会话期间有效。当用户关闭浏览器窗口或标签页时,数据将被清除。
  2. 存储容量:通常允许存储5-10MB的数据,具体容量取决于浏览器。
  3. 作用域:每个窗口或标签页都有自己的SessionStorage,数据不会在不同窗口或标签页之间共享。
  4. APISessionStorage可以使用sessionStorage对象来访问,如sessionStorage.setItem(key, value)sessionStorage.getItem(key)

示例:

// 存储数据到SessionStorage
sessionStorage.setItem('theme', 'dark');

// 从SessionStorage中获取数据
const theme = sessionStorage.getItem('theme');

⭐ 区别

主要区别总结如下:

  1. 持久性LocalStorage数据持久保存,而SessionStorage数据在会话结束时被清除。
  2. 作用域LocalStorage在同一浏览器的所有窗口和标签页之间共享,而SessionStorage每个窗口或标签页有独立的存储空间。
  3. 用途LocalStorage适合用于需要长期存储的数据,如用户首选项。SessionStorage适用于在单个会话期间临时存储数据,如表单数据或页面状态。
  4. 存储容量:两者通常允许存储相似容量的数据,但具体容量因浏览器而异。

选择使用哪种存储方式取决于您的需求,如果需要数据在不同会话之间保持不变,可以使用LocalStorage,而如果只需要在当前会话期间保存数据,可以使用SessionStorage


⭐ 写在最后

本专栏适用读者比较广泛,适用于前端初学者;或者没有学过前端对前端有兴趣的伙伴,亦或者是后端同学想在面试过程中能够更好的展示自己拓展一些前端小知识点,所以如果你具备了前端的基础跟着本专栏学习,也是可以很大程度帮助你查漏补缺,由于博主本人是自己再做内容输出,如果文中出现有瑕疵的地方各位可以通过主页的左侧联系我,我们一起进步,与此同时也推荐大家几份专栏,有兴趣的伙伴可以订阅一下:除了下方的专栏外大家也可以到我的主页能看到其他的专栏;

前端小游戏(免费)这份专栏将带你进入一个充满创意和乐趣的世界,通过利用HTML、CSS和JavaScript的基础知识,我们将一起搭建各种有趣的页面小游戏。无论你是初学者还是有一些前端开发经验,这个专栏都适合你。我们会从最基础的知识开始,循序渐进地引导你掌握构建页面游戏所需的技能。通过实际案例和练习,你将学会如何运用HTML来构建页面结构,使用CSS来美化游戏界面,并利用JavaScript为游戏添加交互和动态效果。在这个专栏中,我们将涵盖各种类型的小游戏,包括迷宫游戏、打砖块、贪吃蛇、扫雷、计算器、飞机大战、井字游戏、拼图、迷宫等等。每个项目都会以简洁明了的步骤指导你完成搭建过程,并提供详细解释和代码示例。同时,我们也会分享一些优化技巧和最佳实践,帮助你提升页面性能和用户体验。无论你是想寻找一个有趣的项目来锻炼自己的前端技能,还是对页面游戏开发感兴趣,前端小游戏专栏都会成为你的最佳选择。点击订阅前端小游戏专栏

在这里插入图片描述

Vue3通透教程【从零到一】(付费) 欢迎来到Vue3通透教程!这个专栏旨在为大家提供全面的Vue3相关技术知识。如果你有一些Vue2经验,这个专栏都能帮助你掌握Vue3的核心概念和使用方法。我们将从零开始,循序渐进地引导你构建一个完整的Vue应用程序。通过实际案例和练习,你将学会如何使用Vue3的模板语法、组件化开发、状态管理、路由等功能。我们还会介绍一些高级特性,如Composition API和Teleport等,帮助你更好地理解和应用Vue3的新特性。在这个专栏中,我们将以简洁明了的步骤指导你完成每个项目,并提供详细解释和示例代码。同时,我们也会分享一些Vue3开发中常见的问题和解决方案,帮助你克服困难并提升开发效率。无论你是想深入学习Vue3或者需要一个全面的指南来构建前端项目,Vue3通透教程专栏都会成为你不可或缺的资源。点击订阅Vue3通透教程【从零到一】专栏

在这里插入图片描述

TypeScript入门指南(免费) 是一个旨在帮助大家快速入门并掌握TypeScript相关技术的专栏。通过简洁明了的语言和丰富的示例代码,我们将深入讲解TypeScript的基本概念、语法和特性。无论您是初学者还是有一定经验的开发者,都能在这里找到适合自己的学习路径。从类型注解、接口、类等核心特性到模块化开发、工具配置以及与常见前端框架的集成,我们将全面覆盖各个方面。通过阅读本专栏,您将能够提升JavaScript代码的可靠性和可维护性,并为自己的项目提供更好的代码质量和开发效率。让我们一起踏上这个精彩而富有挑战性的TypeScript之旅吧!点击订阅TypeScript入门指南专栏

在这里插入图片描述

更多推荐

vuex的state,getters,mutations,actions,modules

目录Vuex核心概念:1、State1)全局state2)使用modules中的state2、Getters1)全局Getters2)使用modules中的getters3、Mutations1)全局Mutations2)使用modules中的mutations(namespaced:true)4、Actions1)全

Day69:283. 移动零、11. 盛最多水的容器、42. 接雨水

283.移动零leetcode链接:https://leetcode.cn/problems/move-zeroes/给定一个数组nums,编写一个函数将所有0移动到数组的末尾,同时保持非零元素的相对顺序。请注意,必须在不复制数组的情况下原地对数组进行操作。示例1:输入:nums=[0,1,0,3,12]输出:[1,3

华为云云耀云服务器L实例评测|怎么搭建企业综合Web平台

前言记得2019年,公司搞混合云的时候,测试过多家公有云,其中就有华为云。因公司也在深圳,项目也比较急,我司业务上云经验又不足,华为官方获悉情况后,第二天就派了4人小团队到我司来交流,整个交流过程非常流畅,从华为云的优势,华为POP点到我司机房网络,我司金融Web业务的特点,金融行业的通用迁云经验,甚至到后台团队连线,

数据库的模糊查询

命中率越高–策略越好数据库的模糊查询work918在SQL中,模糊查询可以使用LIKE关键字来实现。LIKE关键字后面可以跟一个模式,其中%表示任意数量的字符,_表示一个字符。例如,如果你想在一个名为students的表中查找所有名字以Li开头的学生,你可以这样做:SELECT*FROMstudentsWHEREnam

uview组件库的安装

更多的请查看官方文档uView2.0-全面兼容nvue的uni-app生态框架-uni-appUI框架(uviewui.com)//如果您的根目录没有package.json文件的话,请先执行如下命令://npminit-y安装npminstalluview-ui@2.0.36//更新//npmupdateuview-

【基本数据结构 四】线性数据结构:队列

学习了栈后,再来看看第四种线性表结构,也就是队列,队列和栈一样也是一种受限的线性表结构,和栈后进先出的操作方式不同的是,队列是FIFO的结构,也就是先进先出的操作方式。队列的定义队列这个概念非常好理解。可以把它想象成排队买票,先来的先买,后来的人只能站末尾,不允许插队。先进者先出,这就是典型的“队列”.栈只支持两个基本

在Docker中使用MindSpore GPU版本

文章目录在Docker中使用MindSporeGPU版本获取安装命令安装安装nvidia-container-toolkit获取MindSpore镜像测试运行MindSpore镜像运行代码使用VSCode开发在Docker中使用MindSporeGPU版本参考官方文档:安装指南获取安装命令如图所示命令为dockerpu

【深入理解ES6】函数

箭头函数这是ES6中引入的一个有趣的新特性。箭头函数,顾名思义就是一种使用箭头(=>)定义的新语法,与传统函数的差别如下:没有this、super、arguments和new.target绑定,他们由外围最近一层非箭头函数决定。不能通过New关键字调用。箭头函数没有construct方法,所以不能用作构造函数。没有原型

39.地址算术运算

如果p是一个指向数组中某个元素的指针,那么p++将会对p进行自增运算并指向下一个元素,而p+=i将对p进行加i的增量运算,使其指向指针p当前所指向的元素之后的第i个元素。这类运算时指针或地址算术运算中最简单的形式。allocbuf中的空间使用状况也是我们需要了解的信息。我们使用指针allocp指向allocbuf中的下

Docker实践:使用Docker搭建个人开发环境(极简版)

文章目录说明教程1.编写Dockerfile2.编写docker-compose.yml3.使用容器创建容器启动容器进入容器命令行VSCode4.关闭容器5.备份容器导出导入6.重置容器相关资料文章合集详细了解本文在个人电脑上安装Docker容器使用NVIDIA显卡托管镜像运行GUI程序说明本文是在服务器已经配置好Do

python入门篇03 基础案例 python版与java版 语法不同之处

目录1.前言:->上篇传送门:python入门篇02python的语法基础2.案例:pzy超市的收银系统(控制台输入版)->2.0需求摘要:->2.1python代码答案:<直接可以运行>->2.2java代码答案:<必须有main方法>2.3两种代码运行的结果:(一样的结果)--->2.3.2python运行结果(图

热文推荐