本地存储:localStorage,sessionStorage,和cookie。区别

news2024/11/13 3:30:22

localStorage:

特点:

  1. 永久存储
  2. 支持跨页面通讯,也就是在其他页面同样可以获取到你存好的数据。
  3. 只能存储字符串类型的数据,不能存储复杂数据类型

sessionStorage:

特点:

  1. 临时存储,会话级别,页面(浏览器)关闭就没了
  2. 虽然支持跨页面通讯,但是要求必须是从当前页面跳转过去的并且是当前窗口打开才行。
  3. 只能存储字符串类型的数据,不能存储复杂数据类型。
<body>
    <button id="set">存储数据</button>
    <button id="get">获取数据</button>
    <button id="set2">修改数据</button>
    <button id="remove">删除数据</button>
    <button id="clear">清除数据</button>


    <script>
        /* 本地存储:讲程序中产生的一些数据存储到本地:storage,sessionStorage */
        /* 区别:一个永久存储,一个会话存储 */
        /* 方案一:storage :永久存储,只要不手动删除就一直存在,可跨页面通讯,只能存字符串类型数据,不能存复杂类型的数据
            //增删改查
            1.存数据:window.localStorage.setItem(key,value)
            2.获取数据:window.localStorage.getItem(key)
            3.修改数据(和存一样):window.localStorage.setItem(key,value)
            4.删除数据:window.localStorage.removeItem(key)
            5.一键清空:window.localStorage.clear()
        */ 

        /* 方案二:sessionstorage:临时存储,不能离开会话打开新页面 */
        //增删改查
        // 1.存数据:window.localStorage.setItem(key, value)
        // 2.获取数据:window.localStorage.getItem(key)
        // 3.修改数据(和存一样):window.localStorage.setItem(key, value)
        // 4.删除数据:window.localStorage.removeItem(key)
        // 5.一键清空:window.localStorage.clear()


/* 如下:方案二使用只需要换个名字即可: */
        // 增
        // window.localStorage.setItem('哈哈' , 'haha')
        var set = document.getElementById('set')
        set.onclick = function () {
            window.localStorage.setItem('name', '徐')
            window.localStorage.setItem('age', '28')
        }
        //删
        var remove = document.getElementById('remove')
        remove.onclick = function () {
            window.localStorage.removeItem('age')
        }
        //改
        var set2 = document.getElementById('set2')
        set2.onclick = function () {
            window.localStorage.setItem('age', '18')

        }
        //查
        var get = document.getElementById('get')
        get.onclick = function () {
            var res2 = window.localStorage.getItem('name')
            // 只有查的时候需要打印
            console.log(res2)
        }
        //一键清空
        var clear = document.getElementById('clear')
        clear.onclick = function () {
            window.localStorage.clear()
        }

    </script>
</body>

 

 

cookie:

特点:

  1. 只能存储字符串类型数据
  2. 存储的数据大小有限,只能存储4kb左右
  3. 会话几别的存储,浏览器关了就没了。但是我们可以设置过期时间
  4. cookie的操作必须依赖服务器
<body>
    <button id="get">获取</button>

    <script>
        /* 
            要想看到cookie的存取,必须通过服务器打开页面(借助于live server插件即可)
            存数据:document.cookie = ‘key = value;’
            获取数据的语法:document.cookie,获取到的识别cookie中所有的数据,并且是一个字符串类型的数据。
            要想单独拿到某一条数据,自己写拆分逻辑。

            cookie默认也是会话级别,浏览器关闭数据就没了
            cookie可以手动设置过期时间。
            设置过期时间的语法:document.cookie = ‘key = value;expires=’+时间对象
        */

        // 创造时间对象
        // var d = new Date('2022-12-8 17:28') //d变量就是我们时间对象
        // document.cookie = 'username=张三;expires=' + d.toGMTString()
        // document.cookie = 'password=123456;'
        // document.cookie = 'age=20;'


        var getBtn = document.getElementById('get')
        getBtn.onclick = function () {
            var data = document.cookie//data变量中存储的就是cookie中的数据
            var arr = data.split(';')
            // console.log(arr[0].split('=')[1]);
        }
    </script>
</body>

storage和cookie方式的区别

  1. cookie有js的时候就有cookie了,storage的存储方式是h5才出的
  2. cookie只能存储4kb左右的数据,storage可以存储20M左右
  3. 在做前后端交互的时候cookie的数据会随着页面请求自动携带,storage的数据不会自动携带。
  4. cookie前后端都可操作,storage只能前端js操作
  5. cookie默认是会话级别的,但是可以设置过期时间,storage不可手动设置过期时间。

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

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

相关文章

68. 关于 SAP ABAP 报表的多语言显示问题

文章目录 SAP 标准程序的多语言显示支持自开发 Screen 的字段,如何实现多语言显示呢?总结最近一个朋友向我发起知乎咨询,询问 SAP ABAP 报表的字段文本,到底是存储在哪些数据库表里的。 随着后来笔者同这位朋友的深入沟通,得知这位朋友询问的问题背后,实际上包含了一个重…

Windows系统还原失败该怎么办?

系统还原是Windows系统中一个强大的实用程序&#xff0c;它允许您将系统回退到以前的时间点及状态。该功能可以用来撤销对系统所做的一系列更改&#xff0c;比如&#xff0c;当您执行了驱动程序的更新后&#xff0c;计算机出现了异常&#xff0c;您就可以通过系统还原的操作将系…

【微服务】1、一篇文章了解 Eureka 注册中心(理论加代码)

Eureka 的作用和案例使用一、Eureka 的作用&#xff08;注册中心&#xff09;二、Eureka 代码(1) 搭建 Eureka 注册中心① 创建项目&#xff0c;引入 spring-cloud-starter-netflix-eureka-server 依赖【eureka 服务端依赖】② 编写 eureka 服务端启动类&#xff08;启动类添加…

WSO2使用Jenkins进行CI/CD

WSO2使用Jenkins进行CI/CD1. Tool Install1.0 Port 1.1 wso2 Install 1.2 Tool Install(git/vim/jenkins)2. Jenkins CI/CD2.1 Apictl Command2.1 Apictl Command5.2.1 Setting up the environment5.2.2 Setup repository5.2.3 Setup JFrog Artifactory5.2.4 Configure Jenkins…

计算机网络复习(四)

4-15.一个3200位长的TCP报文传到IP层&#xff0c;加上160位的首部后成为数据报。下面的互联网由两个局域网通过路由器连接起来。但第二个局域网所能传送的最长数据帧中的数据部分只有1200位。因此数据报在路由器必须进行分片。试问第二个局域网向其上层要传送多少比特的数据&am…

JavaScript进阶教程——原始类型与引用类型、对象拷贝(克隆)

文章目录序原始类型与引用类型基本概念两种类型的区别赋值比较函数传参对象拷贝对象克隆的使用场景&#xff1a;对象拷贝的分类&#xff1a;浅拷贝深拷贝序 解决JavaScript中比较烧脑的问题&#xff1a; 原始类型与引用类型闭包原型对象this关键字bind、apply、call异步编程 …

VMware Workstation 17.0 Pro SLIC Unlocker for Windows

VMware_Dell_2.6_BIOS-EFI64_Mod&#xff1b;macOS Unlocker&#xff0c;支持 macOS Ventura 请访问原文链接&#xff1a;VMware Workstation 17.0 Pro SLIC & Unlocker for Windows & Linux&#xff0c;查看最新版。原创作品&#xff0c;转载请保留出处。 作者主页&…

Win11安装Linux子系统提示错误代码0x800701bc怎么办?

Win11安装Linux子系统提示错误代码0x800701bc怎么办&#xff1f;最近有用户想要在自己的电脑上安装一个Linux子系统来使用&#xff0c;但是在安装的过程中却出现了一些问题&#xff0c;提示错误代码0x800701bc。那么这个情况要怎么去处理&#xff0c;一起来看看解决的操作步骤吧…

GitHub 被超火的 ChatGPT 霸榜!

本期推荐开源项目目录&#xff1a;1. ChatGPT2. 基于 Node.js 的 ChatGPT3. Mac 版的 ChatGPT4. Chrome 插件的 ChatGPT最近 ChatGPT 火爆全球&#xff0c;估计各位的朋友圈都被这东西刷屏了吧。Chat GPT 是 OpenAI 推出的基于 GPT-3 技术的聊天机器人。它能自动理解用户发的消…

小度机器人3D数字勋章盲盒发售!抽盲盒,赢奖金!参与合成得稀有!

人气王小度机器人3D数字勋章盲盒来了&#xff01;玩法升级&#xff0c;福利更多&#xff01;参与活动&#xff0c;抽超限量稀有款&#xff0c;赢京东卡福利&#xff0c;更能合成珍藏款勋章&#xff01;【活动介绍】小度机器人是百度公司推出的智能交互机器人&#xff0c;依托百…

C++语法——详解智能指针的概念、实现原理、缺陷

目录 一.智能指针的概念 &#xff08;一&#xff09;.智能指针的历史 &#xff08;二&#xff09;.智能指针的使用 插曲.auto_ptr ①unique_ptr ②shared_ptr ③weak_ptr 二.智能指针的实现 三.智能指针的缺陷 &#xff08;一&#xff09;.循环引用 &#xff08;二&…

ChatGPT被玩坏了

大家好&#xff0c;欢迎来到 Crossin的编程教室 &#xff01; 体验了一下最近火出圈的 ChatGPT&#xff0c;聊聊使用感受。 ChatGPT让我下岗&#xff1f;原理就不展开说了&#xff0c;因为我也不懂&#xff0c;写出来估计大家也都看不懂&#xff0c;就简单复制一段网上的介绍&…

Unity 如何实现卡片循环滚动效果

文章目录简介定义卡片的摆放规则调整卡片的层级关系调整卡片的尺寸大小动态调整位置、层级和大小移动动画按钮事件简介 功能需求如图所示&#xff0c;点击下一个按钮&#xff0c;所有卡片向右滚动&#xff0c;其中最后一张需要变更为最前面的一张&#xff0c;点击上一个按钮&a…

案例:用户信息列表展示

1. 需求&#xff1a;用户信息的增删改查操作2. 设计&#xff1a;1. 技术选型&#xff1a;ServletJSPMySQLJDBCTempleatDuirdBeanUtilStomcat2. 数据库设计&#xff1a;create database day17; -- 创建数据库use day17; -- 使用数据库create table user( -- 创建表id in…

Java5分钟制作海报

一、需求背景我们经常在多终端应用开发中会遇到这样的需求&#xff1a;用户在浏览商品时觉得不错&#xff0c;希望分享给朋友。此时终端&#xff08;安卓、苹果、H5等&#xff09;生成一张精美的商品海报&#xff0c;通过微信或者其他途径分享给他人。也可能会遇到需求&#xf…

排课算法小记

输出&#xff1a; 在配置文件(config.txt)中配置:老师&#xff0c;课程&#xff0c;专业班级&#xff0c;课时的信息&#xff0c;运行test.py自动生成对应班级课程表 eg: 专业1&#xff0c;四门课&#xff0c;每门课每周2课时,共8门课 专业2&#xff0c;四门课&#xff0c;每…

springcloud(服务消费及熔断)

目录 1. 服务消费方式 1.1 RestTemplate1.2 feign2. 服务熔断&#xff08;降级&#xff09; 2.1 在微服务架构中服务熔断的必要性2.2 hystrix2.3 hystrix的使用 1. 服务消费方式 1.1 RestTemplate 传统情况下在java代码里访问restful服务&#xff0c;一般使用Apache的HttpClie…

[附源码]JAVA毕业设计田径运动会管理系统(系统+LW)

[附源码]JAVA毕业设计田径运动会管理系统&#xff08;系统LW&#xff09; 项目运行 环境项配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技…

Vue项目实战 可视化 创建(vue2+Element ui)

Vue项目实战创建项目通过脚手架 创建项目 配置 vue 路由配置 element—ui 组件库配置 axios 库创建远程仓库初始化 git 远程仓库 将本地项目托管到 码云前端项目初始化步骤① 安装vue脚手架② 通过脚手架 创建项目③ 配置 vue 路由④ 配置 element—ui 组件库⑤ 配置 axios 库⑥…

基于小波变换的去噪,带GUI界面,可以设置小波变换层数

目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 近年来&#xff0c;小波理论得到了非常迅速的发展&#xff0c;而且由于其具备良好的时频特性&#xff0c;因而实际应用也非常广泛。在去噪领域中&#xff0c;小波理论也同样受到了许多学者的重视…