JavaScript全解析——本地存储的概念、用法详解

news2024/9/25 9:37:18

在这里插入图片描述

本地存储概念:

就是浏览器给我们提供的可以让我们在浏览器上保存一些数据

常用的本地存储

localStorage

sessionStorage

localStorage

特点:

1.长期存储,除非手动删除否则会一直保存在浏览器中,清除缓存或者卸载浏览器也就没有了

2.可以跨页面通讯, 也就是说在一个页面写下在另一个页面可以读取

保存

4.语法: window.localStorage.setItem(名字,值)

注意: 只能保存字符串类型的数据,其它数据类型不能被保存

获取

语法: window.localStorage.getItem(名字)

注意: 保存的是字符串类型,取出来的也是字符串类型

返回值:

+如果localStorage 中有这条数据 拿到的就是这个条数据的值
+如果localStorage 中没有这条数据 拿到的就是 null

删除

语法: window.localStorage.removeItem(名字)

作用: 就是删除localStorage中该条数据

// 保存 
var num = 200 
window.localStorage.setItem('a', num) 
// 获取 
var res = window.localStorage.getItem('b') 
console.log(res); 
console.log(typeof res); 
// 删除 
window.localStorage.removeItem('a')

sessionStorage

特点:

  1. 会话存储,就是浏览器关闭就没有了
  2. 可以跨页面通讯(有要求)
  3. 要求:必须是本页面跳转才可以

保存

语法: window.sessionStorage.setItem(名字,值)

注意: 只能保存字符串类型的数据,其它数据类型不能被保存

获取

语法: window.sessionStorage.getItem(名字)

注意: 保存的是字符串类型,取出来的也是字符串类型

返回值:

+如果 sessionStorage 中有该条数据 获取到的就是该条数据的值
+如果 sessionStorage 中没有该条数据 拿到的就 null

删除

语法: window.sessionStorage.removeItem(名字)

作用: 就是删除 sessionStorage 中的这条数据

// 保存 
window.sessionStorage.setItem('a', 300) 
// 获取 
var res = window.sessionStorage.getItem('a') 
console.log(res); 
console.log(typeof res); 
// 删除 
window.sessionStorage.removeItem('a')

浏览器本地存储 - cookie

特点:

  1. 只能存储字符串, 有固定的格式

=> key=value; key2=value2; key3=value3

  1. cookie 存储大小有限制

=> 4KB 左右

  1. 存储的时效性

=> 默认是会话级别时效, 可以手动设置过期时间

  1. 操作必须依赖服务器

=> 本地打开的页面是不能操作 cookie

=> 也就是存存不上 , 读读不出来

=> 要求页面必须在服务器打开

  1. 跟随前后端请求自动携带

=> 只要 cookie 空间中有内容的时候

=> 会在该页面和后端交互的过程中自动携带

  1. 前后端操作

=> 前端可以使用 JS 来操作

=> 任何一个后端语言都可以操作

  1. 存储依赖域名

=> 哪一个域名存储, 哪一个域名使用

=> 不能跨域名通讯

cookie 的操作

设置一条 cookie

语法: document.cookie = 'key=value'

// 设置一条 cookie 
// 设置了一条叫做 a 的 cookie 存储的值是 100 
document.cookie = 'a=100' 
// 设置了一条叫做 b 的 cookie 存储的值是 200 
document.cookie = 'b=200' 
// 设置一条带有过期时间的 cookie 
var time = new Date() 
document.cookie = 'a=100;expires=' + time 
// 设置一条 30s 以后过期的 cookie 
var time = new Date() 
time.setTime(time.getTime() - 1000 * 60 * 60 * 8 + 1000 * 30) 
// console.log(time) 
document.cookie = 'a=100;expires=' + time

获取 cookie

语法: document.cookie

返回值: 完整的 cookie 字符串

console.log(document.cookie)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/487999.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何设计出结构清晰布局漂亮的SWC结构图

我们都知道AUTOSAR的设计理念是自顶向下的设计,并且现在使用的很多AUTOSAR工具链对于SWC的设计都支持模型设计,以Vector Developer工具为例,假设我们不调整Composition,其结构图显示将会比较乱,比如如下这个样子,结构图中ports关系不清晰,位置重叠,布局不够清晰,有些朋…

二维码在设备管理中的应用

对设备进行巡检是工厂日常管理中必不可少的工作之一,从前很多工厂使用纸质记录打钩的方式进行设备巡检,但纸质巡检单不易保存也不方便进行查阅或汇总,除此之外光靠打钩很难保证巡检的真实性,不能起到防假检的功能。 为了让设备巡…

vue3+Typescript实现路由标签页和面包屑

文章目录 在vue中实现路由标签页和面包屑需求分析最终效果实现步骤第一步:创建路由标签组件和面包屑第二步:创建路由标签数组第三步:监听路由变化并自动添加新标签第四步:处理关闭标签事件第五步:当前路由标题同步面包…

Oracle RAC 19c集群搭建指南:实现高可用、高性能的数据库集群(超详细)

Oracle RAC 19c集群搭建指南:实现高可用、高性能的数据库集群(超详细) 1.新建节点 因为rac集群使用的是共享盘(esxi设置共享盘步骤如下): 首先添加一个iSCSI控制器SCSI总线共享选择虚拟添加硬盘&#xf…

java:fastjson,jackson自定义反序列化器设计暨jackson反序列化时出现StackOverflowError异常的原因分析

问题描述 如下是一个Java Bean类,这是我的sql2java工具根据数据库表自动生成的对应表记录的Java类。 与之对应的数据库表定义如下: CREATE TABLE IF NOT EXISTS dc_device_channel (device_id int NOT NULL COMMENT XNAME:设备IDX,sid …

一种具备过载检测和打嗝式保护功能的MBUS主机电路

关于MBUS电路原理和简化电路见本篇文章, MBUS主机端简化版电路设计_Tech-Wang的博客-CSDN博客https://blog.csdn.net/jsf120/article/details/123378064?spm1001.2014.3001.5502 上篇中的电路已经验证通过并在产品中实际应用,本篇在此基础上增加了打嗝…

itop-3568开发板驱动学习笔记(25)设备树(四)GPIO 实例分析

《【北京迅为】itop-3568开发板驱动开发指南.pdf》 学习笔记 文章目录 GPIO 控制器必要属性其他属性 指定 GPIO 引脚 和时钟类似,GPIO 在设备树中也存在两层定义,首先是 GPIO 控制器,这部分由芯片原厂工程师编写,相当于 GPIO 底层…

恺撒密码太简单?这样一改,秒变地狱级难度(37)

小朋友们好,大朋友们好! 我是猫妹,一名爱上Python编程的小学生。 欢迎和猫妹一起,趣味学Python。 今日主题 看过上一篇文章的朋友,可能觉得这样加密,未免太简单了吧? 一共26个字母&#xf…

【java】一文让你了解透彻Java中的IO模型

文章目录 前言一、什么是IO二、常见的IO模型BIO(Blocking IO)如何优化NIO的面世 三、NIO(Non-blocking/New IO)同步非阻塞IO模型IO多路复用模型Java中的NIO 四、AIO(Asynchronous IO)总结 前言 本文只是说…

不要一昧的给孩子做骨密度检查,这些情况才要做

国内,骨密度检测应用非常广泛。也成了很多医院儿科常规的体检项目之一。而在儿科领域,对骨密度检查的必要性、临床参考意义一直颇有争议。 有专家说,“孩子需要及时检测骨密度,但是要用科学有效的检测方式……只有双能X线的检测方…

BetaFlight统一硬件配置文件研读

BetaFlight统一硬件配置文件研读 1. 源由2. 分析2.1 硬件SOC2.2 统一配置文件2.3 cli命令2.4 板级配置主要命令2.4.1 board_name2.4.2 manufacturer_id2.4.3 resource2.4.4 timer2.4.5 dma2.4.6 serial2.4.7 set2.4.8 feature 3. 实例研读3.1 C遗留配置3.2 BoardName - AOCODAR…

asp.net+C#基于web的失物招领系统ccA1A9程序

根据分析,该系统应该有二个角色:管理员、注册用户。系统需要赋予他们对应的功能和权限,具体如下: 管理员具有:管理管理注册用户、管理新闻模块、管理留言的功能和权限。 具有:浏览新闻、管理失物信息、参与…

【Linux内幕】DMA原理

1.前言 I/O设备与主存信息传送的控制方式分为程序轮询、中断、DMA、RDMA等。 2.DMA介绍 DMA,全称Direct Memory Access,即直接存储器访问。 DMA传输将数据从一个地址空间复制到另一个地址空间,提供在外设和存储器之间或者存储器和存储器之…

GAT1400-视图库标准

一、简述: GA/T 1400是于2017年首次发布关于图片、视频片段、文件等属性对象的传输协议。 GA/T 1400《公安视频图像信息应用系统》分成4个部分: 第一部分–通用技术要求; 第二部分–应用平台技术要求; 第三部分–数据库技术要…

前端学习之使用JavaScript

前情回顾:网页布局 JavaScript 简介 avaScript诞生于1995年,它的出现主要是用于处理网页中的前端验证。所谓的前端验证,就是指检查用户输入的内容是否符合一定的规则。比如:用户名的长度,密码的长度,邮箱的…

刘强:作业帮给OceanBase提了九条意见

3 月 25 日,第一届 OceanBase 开发者大会在北京举行, 作业帮数据库架构师刘强为大家带来了《作业帮基于 OceanBase 的 HTAP 实践》的分享 ,为大家介绍了 OceanBase 上线作业帮半年来的体验与心得。 以下内容由大会演讲整理而成: …

提示工程玩转 ChatGPT

Prompt engineering is the skill of the future. 目录: 1. 简介 (Introduction) 2. 提示指南 (Prompt Guidelines) 2.1 指令要清晰明确 2.2 给模型时间思考 3. 迭代提示 (Iterative Prompt) 3.1 迭代过程 3.2 案例展示 4. 文本概括 (Text Summarization) 4.1 单文本…

五个有用的工具帮助您提高代码质量

前言 对于开发人员而言,代码质量一直是一个非常重要的话题。高质量的代码不仅可以提高应用程序的性能,还可以减少代码错误和维护成本。然而,如何确保代码质量呢?下面介绍五个有用的工具,可以帮助您提高代码质量。 So…

SLAM论文速递:SLAM—— NICER-SLAM: RGB SLAM的神经隐式场景编码—5.04(1)

论文信息 题目: NICER-SLAM:Neural Implicit Scene Encoding for RGB SLAM NICER-SLAM: RGB SLAM的神经隐式场景编码论文地址: https://arxiv.org/pdf/2302.03594.pdf发表期刊: Computer Vision and Pattern Recognition (cs.CV)标签 xxxx…

机器学习:协同过滤推荐算法

目录标题 题目:使用协同过滤(基于用户)构建简单的电影推荐系统1.1.1 实验目的1.1.2 实验内容及步骤1.1.3 程序运行过程、方法和运行结果1.1.4 实验小结 题目:使用协同过滤(基于用户)构建简单的电影推荐系统…