【前端储存】之localStrage、sessionStrage和Vuex

embedded/2024/11/15 4:54:27/

简介

什么是localStrage

localStorage (本地存储)是一种在用户浏览器中存储数据的客户端存储方式,允许网站将键值对数据持久保存在用户的本地浏览器中。存储的数据不受浏览器关闭的影响,可以在不同会话和浏览器关闭后仍然保持有效。

  • 生命周期永久有效,除非手动删除,否则关闭页面也会存在
  • 可以多窗口(页面)共享(同一浏览器可以共享)
  • 以键值对的形式存储使用
  • 各浏览器支持的localStorage容量上限不同;一般上限为5MB
  • localStorage.getItem(‘key’); 如果key不存在则返回null,而不是 undefined
    例:标准的json对象{“name”:“john”}
//设置localStorage保存到本地,第一个为变量名,第二个是值
localStorage.setItem('username', '安琪拉')// 获取数据
localStorage.getItem('username')// 删除保存的数据
localStorage.removeItem('username')// 清除所有保存的数据
localStorage.clear()

 什么是sessionStrage

sessionStorage 是一种在用户浏览器中临时存储数据的客户端存储方式适用于同一浏览器窗口或标签的会话期间。存储的数据在用户关闭浏览器窗口或标签时会被清除,因此适用于保存会话相关的临时信息,例如用户登录状态、暂时的用户选项等。

注:

  • 【只在本地存储】:seesionStorage的数据不会跟随HTTP请求一起发送到服务器,只会在本地生效,并在关闭标签页后清除数据。
  • 【存储方式】:seesionStorage的存储方式采用key、value的方式。value的值必须为字符串类型
  • 【存储上限限制】:不同的浏览器存储的上限也不一样,但大多数浏览器把上限限制在5MB以下
// 设置sessionStorage保存到本地,第一个为变量名,第二个是值
sessionStorage.setItem('sessionName', '可乐')// 获取数据
sessionStorage.getItem('sessionName')// 删除保存的数据
sessionStorage.removeItem('sessionName')// 清除所有保存的数据
sessionStorage.clear()

 什么是Vuex

Vuex 是一个用于 Vue.js 应用程序的状态管理模式和库。它专门用于管理应用程序中的状态(数据),使得不同组件之间可以共享和交流数据,而无需通过传递 props 或事件来传递数据。

注:详细介绍见:Vuex的原理和使用方法

扩展

  • JSON.stringify(); // 将json格式的数据(JavaScript 对象)转换成JSON格式的字符串
  • JSON.parse(); //将JSON格式的字符串转换成JSON对象进行处理

三者区别

主要区别

localStorage:是通过本地数据存储的,以文件的方式存储在本地;

sessionStorage:只是本地存储一个会话中的数据,这些数据只有在同一个会话中的页面才能访问并且当会话结束后也随之销毁;

Vuex:是一个全局状态数据管理,存储在内存中,没有内存大小限制;是专门为vue.js应用程序开发的状态管理模式;通过采用集中式存储管理应用的所有组件的状态。

应用场景

localStorage:一般用于跨页面传递数据场景;长期性保存的数据;

sessionStorage:适用于单页应用程序,方便再各业务模块进行传值;

也用于敏感账号的一次性登录,关闭当时页面再次打开时会需要重新登录

Vuex:是专门为vue.js应用程序开发的状态管理模式;用于组件之间传值

存储永久性 

localStorage窗口或浏览器关闭也始终有效;

sessionStorage仅在当前浏览器关闭前有效;

vuex在刷新页面时存储的值就会丢失


http://www.ppmy.cn/embedded/102273.html

相关文章

win/mac视频剪辑软件Premiere Pro 2024下载安装

目录 一、简介 (一)高级调色功能 (二)字幕制作 (三)与其他 Adobe 软件的协同工作 下载 二、安装 (一)安装前的准备工作 (二)安装过程中的常见问题及解…

百度广告联盟:抢占流量蓝海,精准营销新引擎

百度广告联盟:抢占流量蓝海,精准营销新引擎 在数字营销时代,争夺消费者的注意力与流量成为品牌竞争的关键。百度广告联盟,作为互联网营销领域的佼佼者,凭借其广泛的平台覆盖、精准的受众定位以及丰厚的合作回报…

代码随想录算法训练营第十五天| 110.平衡二叉树、257. 二叉树的所有路径、404.左叶子之和、 222.完全二叉树的节点个数

Leetcode110.平衡二叉树 题目链接:110. 平衡二叉树 C:(后序遍历) class Solution { public:int getheight(TreeNode *node){if(node nullptr) return 0;//左int leftheight getheight(node->left);if(leftheight -1) return -1;//右int righthe…

XML 数据格式介绍及其应用

由于篇幅限制,我将提供一个较为精简的介绍,覆盖XML数据格式的基础知识、应用领域以及与Python数据类型的关系等内容。 XML 数据格式介绍及其应用 XML (eXtensible Markup Language) 是一种标记语言,用于定义数据的结构和含义。与 HTML 相比…

Qt:玩转QPainter序列三

前言 接着序列三,图像的合成模式。 图像的合成模式(CompositionMode)是在讲述当多个图像重叠时重叠部分该如何显示的问题。 正文 先看合成模式的定义,下面是分析。 1. enum CompositionMode 这个枚举类型CompositionMode定义了多种图像合成模式。图…

网络基础知识:理解核心概念与技术

网络基础知识:理解核心概念与技术 概述 网络技术是现代信息技术的核心组成部分之一,它涉及到众多的专业术语和技术细节。本文将帮助您理解一些基本的网络概念,包括软件路由器、硬件路由器、IP 地址、网关、CDN、VPS、DNS 服务器、子网掩码、…

回顾MVC

Tomcat是servlet的容器,想用HttpServlet需要导入tomcat jar包 下图是没用springmvc时的场景,首先在web.xml里面配置访问路径为/Hello然后 通过get请求去调用login方法最后重定向到index.jsp中 index.jsp里面的内容 重定向到index.jsp中 在控制台获取到username里面的…

Java中的定时器(Timer)

目录 一、什么是定时器? 二、标准库中的定时器 三、实现自定义定时器 一、什么是定时器? 定时器就像一个"闹钟",当它到达设定的时间后,就会执行预定的代码。 例如,我们在TCP的超时重传机制中讲过,如果服务器在规定…