浏览器存储(webStorage)常用API以及简单使用
创始人
2024-03-15 09:08:11
0

前言

最近正值世纪杯期间,不知道大家心目中的球队成绩如何,在此期间我学了浏览器存储(webStorage)以及API,下面就分享给大家

浏览器存储(webStorage)

存储内容不是Vue团队打造的,原本的js中就有,所以可以不适用脚手架编译,可以写在HTML中
webStorage又分为localStorage和sessionStorage,浏览器端通过 Window.sessionStorage 和 Window.localStorage 属性来实现本地存储机制。
存储内容大小一般支持5MB左右(不同浏览器可能还不一样),它的键值对都是字符串
下面通过一个常见的应用案例来解释说明

浏览器本地存储应用

浏览器本地存储应用就是在本地浏览器中缓存些东西到硬盘中
下面以唯品会为例子演示,搜索框输入皮鞋,回车搜索

在这里插入图片描述

关闭页面,再次打开网页,发现皮鞋存在了搜索历史中

这里我是没有登录的,所以不可能是存入到数据库,浏览器本地存储是存储到硬盘的

在这里插入图片描述
通过控制的Application的LocalStorage中可以看到

在这里插入图片描述
可以看到是以键值对的形式存储的

如果我们新增一个,可以看到搜索历史中又多了一个

在这里插入图片描述
点击❌则会清空
在这里插入图片描述
这就是浏览器本地存储应用,我们也是可以通过代码实现类似的功能,下面进行演示

localStorage(本地存储)

localStorage的最大特点就是就算把浏览器关闭掉也不会消息。如果想把清除它,可以清除缓存

可以通过JS控制ocalStorage的crud,编写几个按钮,分别对localStorage里面的数据进行crud

新增字符串

使用 window.localStorage.setItem(‘xxx’,‘xxx’)方法即可新增,是键值对的形式,window可写可不写

注意:键和值必须都是字符串,如果不是字符串,会默认调用toString()方法

在这里插入图片描述

在这里插入图片描述

新增对象

如果新增的不是一个字符串,而是一个对象呢,如果直接新增的话,肯定会被toString

在这里插入图片描述
在这里插入图片描述
所以要使用JSON.stringify格式化处理下

在这里插入图片描述
在这里插入图片描述
这样新增的时候就可以新增一个字符串和一个对象了
在这里插入图片描述
在这里插入图片描述

读取字符串

既然设置(新增)使用的是setItem,那么读取肯定就是getItem了,根据key读取,有返回值

在这里插入图片描述
在这里插入图片描述

读取对象

上面读取对象的格式不是我们想要的,我们需要解析一下

在这里插入图片描述

在这里插入图片描述
如果读取字符串的是key不存在,那么则显示null

如果读取对象的key不存在,那么也显示null

删除

使用的api是removeItem,根据key删除localStorage中的数据

在这里插入图片描述

清空

和删除类似,删除是根据key删除单个,但是清空会删除全部的,这个api是clear
在这里插入图片描述
在这里插入图片描述
代码如下



localStorage

localStorage

到了这里localStorage的应用和查看方式以及简单crud就说完了,localStorage的最大特点就是就算把浏览器关闭掉也不会消息,下面介绍sessionStorage

sessionStorage(会话存储)

localStorage有一个弟弟叫sessionStorage,它的特点就是浏览器已关闭,数据就没了

localStorage的所有API都可以适用于sessionStorage

在这里插入图片描述
既然localStorage的所有API都可以适用于sessionStorage,那么就可以复制刚才localStorage的代码进行简单修改

注意:使用sessionStorage的API要把localStorage进行替换

在这里插入图片描述
功能都是一样的,就不贴图了,而且关闭浏览器重新打开后,数据会消失

总结

相关API:1. xxxxxStorage.setItem('key', 'value'); 该方法接受一个键和值作为参数,会把键值对添加到存储中,如果键名存在,则更新其对应的值。2.xxxxxStorage.getItem('person'); 该方法接受一个键名作为参数,返回键名对应的值。3. xxxxxStorage.removeItem('key');该方法接受一个键名作为参数,并把该键名从存储中删除。4.  xxxxxStorage.clear()该方法会清空存储中的所有数据。
4. 备注:1. SessionStorage存储的内容会随着浏览器窗口关闭而消失。2. LocalStorage存储的内容,需要手动清除才会消失。3. xxxxxStorage.getItem(xxx)如果xxx对应的value获取不到,那么getItem的返回值是null。4. JSON.parse(null)的结果依然是null。

相关内容

热门资讯

汽车油箱结构是什么(汽车油箱结... 本篇文章极速百科给大家谈谈汽车油箱结构是什么,以及汽车油箱结构原理图解对应的知识点,希望对各位有所帮...
美国2年期国债收益率上涨15个... 原标题:美国2年期国债收益率上涨15个基点 美国2年期国债收益率上涨15个基...
嵌入式 ADC使用手册完整版 ... 嵌入式 ADC使用手册完整版 (188977万字)💜&#...
重大消息战皇大厅开挂是真的吗... 您好:战皇大厅这款游戏可以开挂,确实是有挂的,需要了解加客服微信【8435338】很多玩家在这款游戏...
盘点十款牵手跑胡子为什么一直... 您好:牵手跑胡子这款游戏可以开挂,确实是有挂的,需要了解加客服微信【8435338】很多玩家在这款游...
senator香烟多少一盒(s... 今天给各位分享senator香烟多少一盒的知识,其中也会对sevebstars香烟进行解释,如果能碰...
终于懂了新荣耀斗牛真的有挂吗... 您好:新荣耀斗牛这款游戏可以开挂,确实是有挂的,需要了解加客服微信8435338】很多玩家在这款游戏...
盘点十款明星麻将到底有没有挂... 您好:明星麻将这款游戏可以开挂,确实是有挂的,需要了解加客服微信【5848499】很多玩家在这款游戏...
总结文章“新道游棋牌有透视挂吗... 您好:新道游棋牌这款游戏可以开挂,确实是有挂的,需要了解加客服微信【7682267】很多玩家在这款游...
终于懂了手机麻将到底有没有挂... 您好:手机麻将这款游戏可以开挂,确实是有挂的,需要了解加客服微信【8435338】很多玩家在这款游戏...