18.本地存储

news2024/12/23 18:17:25

18.1本地存储分类- localStorage

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

2.特性:
●可以多窗口(页面)共享(同一浏览器可以共享)
●以键值对的形式存储使用,键值除了数字型都要加引号

3.语法

存储数据:
localStorage.setltem('key', 'value')
获取数据:
localStorage.getltem('key')
删除数据:
localStorage.removeltem('key')  

注意:本地存储只能存储字符串数据类型
在这里插入图片描述

18.2本地存储分类- sessionStorage

特性:
●生命周期为关闭浏览器窗口
●在同一个窗口(页面)下数据可以共享
●以键值对的形式存储使用
●用法跟 localStorage基本相同

18.3存储复杂数据类型

本地只能存储字符串,无法存储复杂数据类型.
例如:
在这里插入图片描述
显示为object
在这里插入图片描述
●解决: 需要将复杂数据类型转换成JSON字符串,再存储到本地
●语法:

JSON.stringify(复杂数据类型)

➢将复杂数据转换成JSON字符串 存储 在本地存储中
在这里插入图片描述
●问题:因为本地存储里面取出来的是字符串,不是对象,无法直接使用
在这里插入图片描述
●解决:把取出来的字符串转换为对象
●语法:JSON.parse(JSON字符串)

const obj = JSON.parse( localStorage.getItem( 'goods' ))
console.log(obj)

将JSON字符串转换成对象 取出 时候使用
【示例】

<body>
    <script>
        const obj = {
            uname: 'Kai',
            age: 18,
            gender: '女'
        }
        // 1. 复杂数据类型存储必须转换为 JSON字符串存储
        localStorage.setItem('obj', JSON.stringify(obj))
        // console.log(localStorage.getItem('obj'))  //得到的是字符串
        // 2. 把JSON字符串转换为 对象
        const str = localStorage.getItem('obj')
        console.log(JSON.parse(str))
    </script>
</body>

复杂数据类型转换为JSON得到的是字符串,所以取出时要将JSON字符串转换为对象
在这里插入图片描述

18.4数组中map方法迭代数组

●使用场景:
map可以遍历数组处理数据,并且返回新的数组
在这里插入图片描述
map也称为映射。映射是个术语,指两个元素的集之间元素相互“对应”的关系。
map重点在于有返回值,forEach没有返回值

18.5数组中join方法

●作用:
join()方法用于把数组中的所有元素转换为一个字符串

●语法:
在这里插入图片描述

●参数:
数组元素是通过参数里面指定的分隔符进行分隔的,空字符串(") ,则所有元素之间都没有任何字符。

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

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

相关文章

一站式自动化测试平台-Autotestplat

3.1 自动化平台开发方案 3.1.1 功能需求 3.1.3 开发时间计划 如果是刚入门、但有一点代码基础的测试人员&#xff0c;大概 3 个月能做出演示版(Demo)进行自动化测试&#xff0c;6 个月内胜任开展工作中项目的自动化测试。 如果是有自动化测试基础的测试人员&#xff0c;大概 …

【C# 基础精讲】抽象类与接口

抽象类&#xff08;Abstract Class&#xff09;和接口&#xff08;Interface&#xff09;是面向对象编程中两种重要的概念&#xff0c;它们用于定义类的结构、行为和关系&#xff0c;是实现多态性、代码复用和系统设计的关键手段。在C#及其他面向对象编程语言中&#xff0c;抽象…

一生一芯3——ubuntu下显示器扩展

刚进ubuntu时不知道如何完成屏幕扩展&#xff0c;查阅后发现是显卡驱动问题&#xff0c;这里需要调整内置显示器的驱动 打开附加驱动 选择显卡驱动如上&#xff08;其他没试过&#xff09; 应用更改 -> 下载后重启 重启完成后扩展显示器上就有显示了 在设置中调整显示屏顺…

kriging-contour前端克里金插值

先看效果&#xff1a; 本项目在kriging-contour插件基础上进行了封装&#xff0c;增加了自定义区域插值&#xff0c;gitbub地址。

财报解读:上半年营收净利双增长,珀莱雅已成为真正的国货之光?

夏季炎热&#xff0c;防晒类产品的销量暴涨。根据千牛数据&#xff0c;防晒衣今年5月全网搜索人数同比增长15%&#xff0c;加购人数同比增长29.8%&#xff0c;访问人数同比增加42%。消费者狂热的防晒需求&#xff0c;孕育着巨大的商机&#xff0c;许多企业开始瞄准这一机会。而…

汇编指令练习

1.大小比较&#xff08;循环&#xff09; start: /*mov r0,#0x9mov r1,#0xfb LoopLoop:cmp r0,r1beq stopsubhi r0,r0,r1subcc r1,r1,r0b Loop stop:b stop.end 仿真图 2. 1到100之和 start:mov r0,#0x1mov r1,#0x0b sum sum:add r1,r1,r0add r0,r0,#0x1cmp r0,#0x65beq sto…

l2行情推送接口执行步骤,(sinal2接口)需要哪些开发源码?

L2行情推送接口是一种实时行情数据接口&#xff0c;用于获取股票市场深度行情数据&#xff08;Level 2行情数据&#xff09;。下面是L2行情推送接口的一般过程&#xff1a; 1. 接口订阅&#xff1a;开发者需要先与数据服务提供商或股票交易所建立连接&#xff0c;并订阅L2行情…

msvcp120.dll怎么重新安装方法?msvcp120.dll丢失一招修复

msvcp120.dll是许多应用程序和游戏所依赖的文件&#xff0c;因此它的缺失或损坏可能会导致这些程序无法正常运行。这使得修复msvcp120.dll问题变得非常重要&#xff0c;尤其是对于经常使用这些应用程序的用户来说。修复msvcp120.dll错误的方法多种多样&#xff0c;包括重新安装…

Java SE 学习笔记(十)—— 正则表达式

目录 1 引言2 常用匹配规则2.1 字符类2.2 预定义的字符类2.3 贪婪的量词 3 正则表达式匹配的 API4 正则表达式应用4.1 正则表达式常见应用案例4.2 正则表达式在字符串方法中的使用4.3 正则表达式爬取信息 1 引言 &#x1f60d; 正则表达式可以用一些规定的字符来制定规则&#…

四步搭建自己的专属 ChatGPT(附开源代码)

在未来&#xff0c;ChatGPT将成为人工智能应用领域的支柱&#xff0c;推动人机交互、智能客服和在线教育等领域的发展。使用ChatGPT能够轻松应对各种语言任务&#xff0c;提高工作效率&#xff0c;带来更多的便利和创新。 软件架构 java后台技术采用renren框架&#xff1a;spr…

encoder-decoder

transformer的encoder-decoder 如果考虑一个由 2 个堆叠编码器和解码器组成的 Transformer&#xff0c;看起来会是这样的&#xff1a; 文章写的非常好&#xff1a;http://jalammar.github.io/illustrated-transformer/ 其中解码器中的自关注层的运行方式与编码器中的运行方式略…

考研数据结构:第七章 查找

文章目录 一、查找的基本概念二、顺序查找和折半查找2.1顺序查找2.3折半查找2.3.1算法思想2.3.2代码实现2.3.3查找效率分析2.3.4折半查找判定树的构造2.3.5折半查找效率2.3.6小结 2.4分块查找 三、树形查找3.1二叉排序树3.1.1二叉排序树定义3.1.2查找操作3.1.3插入操作3.1.4二叉…

arm:day2

.text 文本段 .global _start 声明一个_start全局函数的入口 _start: _start标签&#xff0c;就是c语言的函数/*mov r0,#9 r09mov r1,#15 r115cmp r0,r1 比较r0和r1beq stop 如果r0等于r1&#xff0c;跳转stopsubhi r0,r0,r1 如果r0大于r1&#xff0c;r0r0-r1su…

leetcode剑指 Offer 05. 替换空格(两种方法)

题目&#xff1a;leetcode剑指 Offer 05. 替换空格 描述&#xff1a; 请实现一个函数&#xff0c;把字符串 s 中的每个空格替换成"%20"。 示例 1&#xff1a; 输入&#xff1a;s “We are happy.” 输出&#xff1a;“We%20are%20happy.” 思路&#xff1a; 第一…

Python爬虫:单线程、多线程、多进程

前言 在使用爬虫爬取数据的时候&#xff0c;当需要爬取的数据量比较大&#xff0c;且急需很快获取到数据的时候&#xff0c;可以考虑将单线程的爬虫写成多线程的爬虫。下面来学习一些它的基础知识和代码编写方法。 一、进程和线程 进程可以理解为是正在运行的程序的实例。进…

MySQL索引总结

MySQL索引总结 1.索引的概念、作用与使用场景 本质上就是减少读写磁盘的次数。 索引是一种特殊的文件&#xff0c;包含这对数据表中所有记录的引用指针&#xff0c;可以对表中的一列或多列创建索引&#xff0c;并指定索引的类型&#xff0c;每种类型都有对应数据结构实现。 …

大数据必回之LSM树

LSM树&#xff08;Log-Structured-Merge-Tree&#xff09;并不像B、红黑树一样是一颗严格的树状数据结构&#xff0c;它其实是一种存储结构&#xff0c;像HBase、RocksDB这些NoSQL存储都是采用LSM树。它是一种分层、有序、面向磁盘的数据结构&#xff0c;核心思想是顺序写性能远…

Leetcode链表篇 Day3

.24. 两两交换链表中的节点 - 力扣&#xff08;LeetCode&#xff09; 1.构建虚拟结点 2.两两一组&#xff0c;前继结点一定在两两的前面 3.保存结点1和结点3 19. 删除链表的倒数第 N 个结点 - 力扣&#xff08;LeetCode&#xff09; 1.双指针&#xff1a;快慢指针 两个指针的差…

初步认识OSI/TCP/IP一(第三十八课)

1 初始OSI模型 OSI参考模型&#xff08;Open Systems Interconnection Reference Model&#xff09;是一个由国际标准化组织&#xff08;ISO&#xff09;和国际电报电话咨询委员会&#xff08;CCITT&#xff09;联合制定的网络通信协议规范&#xff0c;它将网络通信分为七个不…