API-本地存储

学习目标:

  • 掌握本地存储

学习内容:

  1. 本地存储介绍
  2. 本地存储分类
  3. 存储复杂数据类型

本地存储介绍:

以前我们页面写的数据一刷新页面就没有了,是不是?

随着互联网的快速发展,基于网页的应用越来越普遍,同时也变的越来越复杂,为了满足各种各样的需求,会经常性在本地存储大量的数据,HTML5规范提出了相关解决方案。

  • 数据存储在用户浏览器中。

  • 设置、读取方便、甚至页面刷新不丢失数据。

  • 容量较大,sessionStoragelocalStorage约5M左右。

  • 常见的使用场景:

    https://todomvc.com/examples/vanilla-es6/   页面刷新数据不丢失
    

本地存储分类:

  • localStorage

作用:可以将数据永久存储在本地(用户的电脑),除非手动删除,否则关闭页面也会存在。

特性:

1. 可以多窗口(页面)共享(同一浏览器可以共享)。
2. 以键值对的形式存储使用。

语法:

//1.存储数据
localStorage.setItem('键','值')
//2.获取数据
localStorage.getItem('键')
//3.删除数据
localStorage.removeItem('键')
 <title>本地存储-localstorage</title>
</head>

<body>
  <script>
    //1.要存储一个名字  uname  雪碧宝宝
    // localStorage.setItem('键','值')
    localStorage.setItem('uname', '雪碧宝宝')
    //2.获取方式 都加引号
    console.log(localStorage.getItem('uname'))
    //3.删除本地存储  只删除名字
    // localStorage.removeItem('uname')
    //4.改  如果原来有这个键,则是改;如果没有这个键是增
    localStorage.setItem('uname', '丸子宝宝')

    //我要存一个年龄
    //2.本地存储只能存储字符串数据类型
    localStorage.setItem('age', 18)
    console.log(localStorage.getItem('age'))
  </script>

</body>

在这里插入图片描述

  • sessionStorage

特性:

  1. 生命周期为关闭浏览器窗口。
  2. 在同一窗口(页面)下数据可以共享。
  3. 以键值对的形式存储使用。
  4. 用法跟localStorage基本相同。

存储复杂数据类型:

  • 本地只能存储字符串,无法存储复杂数据类型。
<title>存储复杂数据类型</title>
</head>

<body>
  <script>
    const obj = {
      uname: '雪碧小朋友',
      age: 18,
      gender: '男'
    }
    // //存储 复杂数据类型 无法直接使用
     localStorage.setItem('obj', obj)  //  [object object] 
    // //取
     console.log(localStorage.getItem('obj'))
  </script>

</body>

在这里插入图片描述

  • 解决:需要将复杂数据类型转换成JSON字符串,再存储到本地。

语法:JSON.stringify(复杂数据类型)

<title>存储复杂数据类型</title>
</head>

<body>
  <script>
    const obj = {
      uname: '雪碧小朋友',
      age: 18,
      gender: '男'
    }
    //1.复杂数据类型存储必须转换为 JSON字符串存储
    localStorage.setItem('obj', JSON.stringify(obj))
    //JSON对象 属性和值有引号,而且引号统一为双引号
    // {"uname":"雪碧小朋友","age":18,"gender":"男"}
    //取
    // console.log(typeof localStorage.getItem('obj'))
    //2.把json字符串转换为 对象
    const str = localStorage.getItem('obj') //{"uname":"雪碧小朋友","age":18,"gender":"男"}
    console.log(JSON.parse(str))
  </script>

</body>

在这里插入图片描述

  • 注意:

因为本地存储里面取出来的是字符串,不是对象,无法直接使用,因此,需要将取出来的字符串转换为对象

JSON.parse(JSON字符串)

//2.把json字符串转换为 对象
    const str = localStorage.getItem('obj') //{"uname":"雪碧小朋友","age":18,"gender":"男"}
    console.log(JSON.parse(str))

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

中医药文化传承进校园活动授牌仪式在石家庄主办举办

青春闪“药”&#xff0c;我心向党。2024年6月30日&#xff0c;由河北省药品医疗器械检验研究院主办的”中医药文化传承进校园活动在石家庄主办。来自河北省各地24所学校作为示范学校现场接牌。 河北省科协科普部部长范玉鑫、河北省教育厅学位管理与研究生处副处长耿立艳、河北…

Springboot项目实训--day1

目录 一、软件安装 二、软件的简单了解 三、基础知识应用 1、四个常用注释 2、尝试新建类 3、控制反转&#xff08;IOC容器&#xff09; 4、返回数据给浏览器 5、浏览器传回数据给服务器 易错点 一、软件安装 需要安装的软件是idea专业版&#xff0c;刚使用的时候可以使…

mac|浏览器链接不上服务器但可以登微信

千万千万千万不要没有关梯子直接关机&#xff0c;不然就会这样子呜呜呜 设置-网络&#xff0c;点击三个点--选择--位置--编辑位置&#xff08;默认是自动&#xff09; 新增一个&#xff0c;然后选中点击完成 这样就可以正常上网了

Python 异常

文章目录 捕获异常捕获常规异常捕获指定异常捕获多个异常 else语法finally语法异常的传递 捕获异常 假设某处可能会出现异常&#xff0c;提前做好准备。 捕获常规异常 所有的异常都会被捕获&#xff0c;不指定异常。 语法&#xff1a; try:可能出错的代码 except:出现异常后…

Open3D 点云快速全局配准FGR算法(粗配准)

目录 一、概述 1.1原理和步骤 1.2关键技术和优势 1.3应用场景 二、代码实现 2.1 关键代码 2.1.1.函数&#xff1a;execute_fast_global_registration 2.1.2调用registration_fgr_based_on_feature_matching函数 2.2完整代码 三、实现效果 3.1原始点云 3.2粗配准后点…

写代码,为什么还需要作图?

引言 古人云 &#xff1a;一图胜千言&#xff0c;闲人说&#xff1a;无图无真相。 在日常的聊天工具当中&#xff0c;无论是使用微信&#xff0c;还是钉钉。使用图片或表情包的频次越来越高&#xff0c;那是为什么呢&#xff1f;其实在互联网没有那么发达的时候&#xff0c;我…

算法题笔记

主要记录python的力扣题解 参考的优质网站&#xff1a; 算法通关手册&#xff08;LeetCode&#xff09; | 算法通关手册&#xff08;LeetCode&#xff09; (itcharge.cn) 代码随想录 (programmercarl.com) 2024.6.28 题目&#xff1a;轮转数组 官网连接&#xff1a;189. …

Linux环境安装配置nginx服务流程

Linux环境的Centos、麒麟、统信操作系统安装配置nginx服务流程操作&#xff1a; 1、官网下载 下载地址 或者通过命令下载 wget http://nginx.org/download/nginx-1.20.2.tar.gz 2、上传到指定的服务器并解压 tar -zxvf nginx-1.20.1.tar.gzcd nginx-1.20.1 3、编译并安装到…

武汉星起航:跨境电商流量红利爆发,2023年出海企业迎突破增长

在数字时代的浪潮中&#xff0c;中国跨境电商以惊人的爆发力崭露头角&#xff0c;成为全球贸易的璀璨新星。2023年数据显示&#xff0c;跨境电商出口额高达1.83万亿元&#xff0c;同比增长19.6%&#xff0c;这一显著增速不仅刷新纪录&#xff0c;更为众多出海企业带来了前所未有…

vscode搭建suricata调试环境

一、环境 windows10 wsl2 $ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 20.04.2 LTS Release: 20.04 Codename: focal二、编译 2.1 下载源码 wget https://www.openinfosecfoundation.org/download/suri…

配电智能网关赋能电力系统智能化运行维护

随着智能电网和物联网技术的不断发展&#xff0c;两者之间的融合应用成为电力行业的重要趋势。配电智能网关作为连接两者的关键设备&#xff0c;在智能电网的物联网应用中发挥着重要作用。 配电智能网关能够实现对电力系统的实时监控、数据采集、远程控制等功能&#xff0c;为…

【Vue】微信禁止打开,可弹出提示:请用360、搜狗浏览器的极速模式打开。

需求 某网站链接&#xff0c;使用微信端打开&#xff0c;某些材料自动下载会造成泄密。所以添加限制&#xff1a;微信禁止打开&#xff0c;可弹出提示&#xff1a;请用360、搜狗浏览器的极速模式打开。 处理前 微信访问该链接&#xff0c;点击【继续访问】可直接跳转到该网站 处…

苍穹外卖项目 常用注解 + 动态sql

常用注解 常见的注解解析方法有两种&#xff1a; 编译期直接扫描&#xff1a;编译器在编译 Java 代码的时候扫描对应的注解并处理&#xff0c;比如某个方法使用Override 注解&#xff0c;编译器在编译的时候就会检测当前的方法是否重写了父类对应的方法。运行期通过反射处理&…

ROS2使用C++开发动作通信

1.开发接口节点 cd chapt4_ws/ ros2 pkg create robot_control_interfaces --build-type ament_cmake --destination-directory src --maintainer-name "joe" --maintainer-email "1027038527qq.com" mkdir -p src/robot_control_interfaces/action touch…

C#中的时间数据格式化详解与应用示例

文章目录 1、基本概念基本格式化方法 2、实用的时间格式化方法格式化日期格式化时间格式化时间戳解析日期时间字符串 3、实际应用4、应用示例结论 在软件开发中&#xff0c;时间数据是无处不在的。无论是用户登录时间、数据备份时间&#xff0c;还是日志记录&#xff0c;都需要…

NSE and KGE

NSE&#xff08;Nash-Sutcliffe Efficiency&#xff09;&#xff1a; 解释&#xff1a;NSE 是衡量水文模型模拟结果与观测值之间拟合程度的指标。它计算模拟值与观测值之间的均方误差&#xff0c;并将其与观测值的方差进行比较。NSE 的取值范围为-∞至 1&#xff0c;值越接近 1…

natvicat为什么连不上linux上的mysql?

老规矩&#xff0c;废话不多说&#xff0c;直接上教程。 号外&#xff0c;数据库管理工具领域的知名品牌Navicat&#xff0c;推出其免费版本——Navicat Premium Lite&#xff0c;用户可从Navicat官网下载体验这款软件。 https://www.navicat.com.cn/download/navicat-premium-…

vue3 动态配置element 的table

需求 合并行、合并标题、列宽可调整、列顺序可调整、可以控制列是否显示、列布局可保存、导出excel… 参考效果 代码 引入 npm i xlsx npm install element-plus --savetable组件 <template><div><div class"table-btn"><el-tooltip conte…

开发一套java语言的智能导诊需要什么技术?java+ springboot+ mysql+ IDEA互联网智能3D导诊系统源码

开发一套java语言的智能导诊需要什么技术&#xff1f;java springboot mysql IDEA互联网智能3D导诊系统源码 医院导诊系统是一种基于互联网和3D人体的智能化服务系统&#xff0c;旨在为患者提供精准、便捷的医院就诊咨询服务。该系统整合了医院的各种医疗服务资&#xff1b;智慧…

selenium 简介以及 selenium 环境配置

文章目录 一、初识 selenium1.selenium 简介2.selenium 三大组件3.selenium工作过程和原理4.selenium自动化测试流程5.selenium优点 二、自动化测试1.UI自动化本质2.UI自动化的前提3.适用场景4.UI自动化的原则5.UI自动化的覆盖率 三、selenium 环境配置 一、初识 selenium 1.s…