当前位置: 首页 > news >正文

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

在这里插入图片描述

本地存储概念:

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

常用的本地存储

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)

相关文章:

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

本地存储概念: 就是浏览器给我们提供的可以让我们在浏览器上保存一些数据 常用的本地存储 localStorage sessionStorage localStorage 特点: 1.长期存储,除非手动删除否则会一直保存在浏览器中,清除缓存或者卸载浏览器也就没有了 2.可以跨页面通讯,…...

对象浅拷贝的5种方式

参考原文:浅拷贝的五种实现方式 - 掘金 (juejin.cn) 哈喽 大家好啊 最近发现自己对对象都不是很熟练,特别是涉及到一些复制,深浅拷贝的东西 1.Object.assign 首先 我们创建一个空对象obj1 然后创建一个对象obj2 用object.assign(目标对象&#xff0c…...

Java每日一练(20230504)

目录 1. 位1的个数 🌟 2. 移除元素 🌟 3. 验证二叉搜索树 🌟🌟 🌟 每日一练刷题专栏 🌟 Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专栏 1. 位1的个数 编写一个…...

【深度学习】计算机视觉(13)——模型评价及结果记录

1 Tensorboard怎么解读? 因为意识到tensorboard的使用远不止画个图放个图片那么简单,所以这里总结一些关键知识的笔记。由于时间问题,我先学习目前使用最多的功能,大部分源码都包含summary的具体使用,基本不需要自己修…...

项目经理在项目中是什么角色?

有人说,项目经理就是一个求人的差事,你是在求人帮你做事。 有人说,项目经理就是一个与人扯皮的差事,你要不断的与开发、产品、测试等之间沟通、协调。 确实,在做项目的时候,有的人是为了完成功能&#x…...

【技术分享】防止根据IP查域名,防止源站IP泄露

有的人设置了禁止 IP 访问网站,但是别人用 https://ip 的形式,会跳到你服务器所绑定的一个域名网站上 直接通过 https://IP, 访问网站,会出现“您的连接不是私密连接”,然后点高级,会出现“继续前往 IP”,…...

Baumer工业相机堡盟相机如何使用偏振功能(偏振相机优点和行业应用)(C#)

项目场景: Baumer工业相机堡盟相机是一种高性能、高质量的工业相机,可用于各种应用场景,如物体检测、计数和识别、运动分析和图像处理。 Baumer的万兆网相机拥有出色的图像处理性能,可以实时传输高分辨率图像。此外&#xff0…...

无损以太网与网络拥塞管理(PFC、ECN)

无损以太网 无损以太网(Lossless Ethernet)是一种专门用于数据中心网络的网络技术,旨在提供低延迟、高吞吐量和可靠性的传输服务。它是在传统以太网的基础上进行了扩展,引入了新的拥塞管理机制,以避免数据包丢失和网络…...

爬虫大全:从零开始学习爬虫的基础知识

爬虫是一种自动获取网站信息的技术,它可以帮助我们快速地抓取海量网站数据,进行统计分析、挖掘和展示。本文旨在为初学者详细介绍爬虫的基础知识,包括:爬虫原理、爬虫分类、网页结构分析、爬虫工具和技能、爬虫实践示范&#xff0…...

【Python】【进阶篇】21、Django Admin数据表可视化

目录 21、Django Admin数据表可视化1. 创建超级用户2. 将Model注册到管理后台1)在admin.py文件中声明 3. django_admin_log数据表 21、Django Admin数据表可视化 在《Django Admin后台管理系统》介绍过 Django 的后台管理系统是为了方便站点管理人员对数据表进行操作。Django …...

【MySQL约束】数据管理实用指南

1、数据库约束的认识 数据库约束的概念:数据库的约束是关系型数据库的一个重要的功能,它提供了一种“校验数据”合法性的机制,能够保证数据的“完整性”、“准确性”和“正确性” 数据库的约束: not null:不能存储 nul…...

2023年第二十届五一数学建模竞赛C题:“双碳”目标下低碳建筑研究-思路详解与代码答案

该题对于模型的考察难度较低,难度在于数据的搜集以及选取与处理。 这里推荐数据查询的网站:中国碳核算数据库(CEADs) https://www.ceads.net.cn/ 国家数据 国家数据​data.stats.gov.cn/easyquery.htm?cnC01 以及各省市《统…...

Vue父组件生命周期和子组件生命周期触发顺序

加载渲染过程 父 beforeCreate -> 父 created -> 父 beforeMount -> 子 beforeCreate -> 子 created -> 子 beforeMount -> 子 mounted -> 父 mounted子组件更新过程 父 beforeUpdate -> 子 beforeUpdate -> 子 updated -> 父 updated父组件更新…...

DevOps工程师 - 面试手册

DevOps工程师 - 面试手册 岗位概述 DevOps工程师是一种专注于提高软件开发和运维团队协作、提高软件产品交付速度和质量的职位。这种角色要求具备跨领域的知识,以便在开发和运维过程中建立起稳定、可靠的基础设施和自动化流程。 常见的职位招聘描述 负责设计、实…...

Netty内存管理--内存池空间规格化SizeClasses

一、规格化 内存池类似于一个内存零售商, 从操作系统中申请一整块内存, 然后对其进行合理分割, 将分割后的小内存返回给程序。这里存在3个尺寸: 分割尺寸: 底层内存管理的基本单位, 比如常见的以页为单位分配, 但是页的大小是灵活的;申请尺寸: 内存使用者希望申请到的内存大小…...

数据结构刷题(三十):96不同的二叉搜索树、01背包问题理论、416分割等和子集

一、96. 不同的二叉搜索树 1.这个题比较难想递推公式, dp[3],就是元素1为头结点搜索树的数量 元素2为头结点BFS的数量 元素3为头结点BFS的数量 元素1为头结点搜索树的数量 右子树有2个元素的搜索树数量 * 左子树有0个元素的搜索树数量 元素2为头结…...

bash的进程与欢迎讯息自定义

在bash shell中,可以通过多种方式自定义欢迎讯息和提示符。主要有: 修改/etc/profile文件: 该文件在用户登录后执行,定义了PROMPT_COMMAND和PS1提示符。可以修改其内容实现自定义欢迎讯息和提示符。 例如,修改为: bash PROMPT_COMMANDecho -e "\nWelcome to My Bash She…...

本周大新闻|苹果首款MR没有主打卖点;Meta认为AI是AR OS的基础

​本周XR大新闻,AR方面,苹果首款MR或没有主打卖点,反而尽可能支持更多App和服务;扎克伯格表示基于AI的AR眼镜操作系统是下一代计算平台的基础;微软芯片工程VP Jean Boufarhat加入Meta芯片团队;Humane展示了…...

Java中工具类Arrays、Collections、Objects

Arrays Arrays是Java中提供的一个针对数组操作的工具类,所有的方法都是静态的。 大致有这些常用的方法 sort()针对常用的基本数据类型,都能进行排序,byte、char、int、long、float、doubleparallelSort()并行排序,多线程排序&am…...

Docker安装Nginx/Python/Golang/Vscode【亲测可用】

一、docker安装nginx docker安装nginx,安装的是最新版本的:docker pull nginx:latest 创建一个容器:docker run --name my-nginx -p 80:80 -d nginx:latest 开启一个交互模式终端:docker exec -it my-nginx bash 创建django项…...

蓝桥杯2022年第十三届决赛真题-最大数字

蓝桥杯2022年第十三届决赛真题-最大数字 时间限制: 3s 内存限制: 320MB 题目描述 给定一个正整数 N。你可以对 N 的任意一位数字执行任意次以下 2 种操作: 将该位数字加 1。如果该位数字已经是 9,加 1 之后变成 0。 将该位数字减 1。如果该位数字已经…...

smbms项目搭建

目录 1.搭建一个maven web项目 2.配置Tomcat 3.测试项目是否能够跑起来 4.导入项目中会遇到的Jar包 5.项目结构搭建 6.项目实体类搭建 7.编写基础公共类 1.数据库配置文件 2.编写数据库的公共类 3.编写字符编码过滤器 3.1web配置注册 4.导入静态资源 1.搭建一个maven web项目 …...

进程/线程 状态模型详解

前言:最近操作系统复习到线程的状态模型(也可以说进程的状态模型,本文直接用线程来说)时候,网上查阅资料,发现很多文章都说的很不一样,有五状态模型、六状态模型、七状态模型.......虽然都是对的…...

数据结构与算法之队列: Leetcode 621. 任务调度器 (Typescript版)

任务调度器 https://leetcode.cn/problems/task-scheduler/ 描述 给你一个用字符数组 tasks 表示的 CPU 需要执行的任务列表。其中每个字母表示一种不同种类的任务。任务可以以任意顺序执行,并且每个任务都可以在 1 个单位时间内执行完。在任何一个单位时间&#…...

【报错】arXiv上传文章出现XXX.sty not found

笔者在overleaf上编译文章一切正常,但上传文章到arxiv时出现类似于如下报错: 一般情况下观察arxiv的编译log,不通过的原因,很多时候都是由于某一行导入了啥package,引起的报错;但是如果没有任何一个具体的…...

项目合同管理

项目合同管理的基本概念及分类、项目合同签订、项目合同管理以及项目合同索赔处理等内容 信息系统工程的建设过程实际上就是合同的执行和监控的过程 1、项目合同的概念及分类 合同法律关系:权力和义务关系 合同可以是书面形式、口头形式和其他形式 书面形式是指…...

聊聊ClickHouse向量化执行引擎-过滤操作

俄罗斯Yandex开发的ClickHouse是一款性能黑马的OLAP数据库,其对SIMD的灵活运用给其带来了难以置信的性能。本文我们聊聊它如何对过滤操作进行SIMD优化。 基本思想 1、有一个数组data,即ColumnVector::data,存放数据 2、使用uint8类型&#xf…...

数据可视化第二版-拓展-网约车分析案例

文章目录 数据可视化第二版-拓展-网约车分析案例竞赛介绍 1等奖作品-IT从业者张某某的作品结论过程数据和思考数据处理数据探索数据分析方法选择数据分析相关性分析转化率分析分析结论 完单数量分析分析结论 司机数量分析分析结论 时间分析每日订单分析 工作日各时段分析周六日…...

pytest - Getting Start

前言 项目开发中有很多的功能,通常开发人员需要对自己编写的代码进行自测,除了借助postman等工具进行测试外,还需要编写单元测试对开发的代码进行测试,通过单元测试来判断代码是否能够实现需求,本文介绍的pytest模块是…...

( 字符串) 205. 同构字符串 ——【Leetcode每日一题】

❓205. 同构字符串 难度:简单 给定两个字符串 s 和 t ,判断它们是否是同构的。 如果 s 中的字符可以按某种映射关系替换得到 t ,那么这两个字符串是同构的。 每个出现的字符都应当映射到另一个字符,同时不改变字符的顺序。不同…...

醴陵网站开发/百度推广代理开户

java 中sleep()方法或者wait()方法的使用比如我在执行某个方法后 想停顿3秒 然后去执行另外一个 方法 (注意:不简单说:sleep由线程自动唤醒,wait必须显示用代码唤醒。 sleep是Thread类的静态方法。sleep的作用是让线程休眠制定的时间&#xf…...

建设一个网站需要做哪些工作内容/网站seo是干什么的

1.1 几种常见存储设备的接口 1.IDE接口 IDE的英文全称为"Integrated Drive Electronics",即"电子集成驱动器",是曾经主流的硬盘接口。IDE接口也称之为ATA接口。ATA的英文拼写为"Advanced Technology Attachment"。2003年推…...

天水做网站的公司/网站建设合同模板

相信很多从事js开发的朋友都或多或少了解一些有关js闭包(closure)的知识。 本篇文章是从小编个人角度,简单地介绍一下有关js闭包(closure)的相关知识。目的是帮助一些对js开发经验不是很多的朋友,使他们可以…...

地信网站建设/网络营销师培训

简单快捷键例如:this.button1.Text "OK(&O)"复杂的则需要使用 [user.dll]C#实现快捷键(系统热键)响应在应用中,我们可能会需要实现像CtrlC复制、CtrlV粘贴这样的快捷键,本文简单介绍了它的实现,并给出了一个实现类。http://ik…...

深圳十大景观设计公司排名/seo快速软件

如果把指标⽐喻成⼀棵树上的果实,那模型就是这棵⼤树的躯⼲,想让果实结得好,必须让树⼲变得粗壮。真实场景举例:⼤多数公司的分析师会结合业务做⼀些数据分析(需要⽤到⼤量的数据),通过报表的⽅…...

公司网站制作公司排名/企业品牌营销推广

点击关注公众号,Java干货及时送达授权转自:OSCHINA,作者:局长 原文:https://www.oschina.net/news/135658/db-engines-ranking-202104DB-Engines 4 月份流行度排行已更新,基于 3 月份的整体数据变化。从总榜…...