位置: IT常识 - 正文

本地存储(Local Storage) 和 会话存储(Session Storage)(本地存储localstorage没有拿到最新值)

编辑:rootadmin
本地存储(Local Storage) 和 会话存储(Session Storage)

推荐整理分享本地存储(Local Storage) 和 会话存储(Session Storage)(本地存储localstorage没有拿到最新值),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:本地存储localstorage 和域名,本地存储localstorage用法,本地存储localstorage和区别,本地存储localstorage可以存多组数据吗,本地存储localstorage,本地存储localstorage的大小,本地存储localstorage用法,本地存储localstorage可以存多组数据吗,内容如对您有帮助,希望把文章链接给更多的朋友!

我不会告诉你任何定义和概念,上车,读完这篇博客,你就会对本地存储(Local Storage) 和 会话存储(Session Storage)有一个清晰的认识。

目录前提知识范例示例1:将键值对提供给本地存储示例2: 本地存储中设置键值对示例3: 获取空值示例 4:将数组存储在本地存储中示例 5:从本地存储中获取数组示例 6:从本地存储中获取数组?示例 7:清除本地存储示例 8:仅从本地存储中删除 Name1 键值对会话存储总结前提知识

请按照我以下的步骤来:

1、在任意网页中按F12打开开发者工具 2、单击Application,即应用 3、单击存储,您将在那里看到本地存储和会话存储。 本地存储和会话存储都存储键值对。

本地存储和会话存储的主要区别在于,在 关闭浏览器 后,存储在 会话存储 中的键值对会丢失。

范例

现在,让我们通过一些示例来了解如何对本地存储进行操作。

示例1:将键值对提供给本地存储localStorage.setItem('Name1', 'uiu');

控制台执行,查看效果 让我们看看本地存储的“ typeof ”:

示例2: 本地存储中设置键值对

在上面的示例中,我们看到了 如何在本地存储中设置键值对。

现在,让我们了解如何从本地存储中获取键值对。

let Name1 = localStorage.getItem('Name1')console.log(Name1)

示例3: 获取空值

现在,让我们尝试获取一些不存在的值。

let Name2 = localStorage.getItem('Name2');console.log(Name2)

如果您尝试从不存在的本地存储中获取某些内容,则结果为 null 。

很多时候我们希望将数组存储在本地存储中,因为数组很容易使用(我们有很多内置的数组方法)。

但是,本地存储的一个限制是它将数组存储为字符串。让我们看看我的意思:

// 本地存储localStorage.setItem('WebSite', 'uiuing.com');// 定义ProgrammingLanguage数组let ProgrammingLanguage = ['Java', 'Python', 'JavaScript', 'GO+']// 本地存储存储 ProgrammingLanguage数组localStorage.setItem('favoriteProgrammingLanguage', ProgrammingLanguage);

为了克服这个问题☝️,我们使用 JSON.stringify。请看下面的实际操作

示例 4:将数组存储在本地存储中

现在我们使用 JSON.stringify 将数组存储在本地存储中

localStorage.setItem('WebSite', 'uiuing.com');let ProgrammingLanguage = ['Java', 'Python', 'JavaScript', 'GO+']// 这里讲原先的ProgrammingLanguage 修改为了 JSON.stringify(ProgrammingLanguage)localStorage.setItem('favoriteProgrammingLanguage',JSON.stringify(ProgrammingLanguage));

示例 5:从本地存储中获取数组

从本地存储中获取数组。

本地存储(Local Storage) 和 会话存储(Session Storage)(本地存储localstorage没有拿到最新值)

上面的结果可能看起来像一个数组,但我们从本地存储而不是数组获取字符串。

让我证明一下。

因此,为了从本地存储中获取数组,我们使用 JSON.parse ,见下文。

示例 6:从本地存储中获取数组?

现在我们 JSON.parse 使用从本地存储中获取数组

console.log(JSON.parse(localStorage.getItem('favoriteProgrammingLanguage')));

因此,我们使用:

JSON.stringify:将数组设置为本地存储中的值。JSON.parse:从本地存储中获取数组。

示例 7:清除本地存储

清理前

localStorage.clear()

运行后 因此,我们可以使用 localStorage.clear() 来清除本地存储

仅从本地存储中删除“name1”键值对。

示例 8:仅从本地存储中删除 Name1 键值对localStorage.setItem('Name1', 'uiu');localStorage.setItem('WebSite', 'uiuing.com');let ProgrammingLanguage = ['Java', 'Python', 'JavaScript', 'GO+']localStorage.setItem('favoriteProgrammingLanguage',JSON.stringify(ProgrammingLanguage));

运行这条命令试试

localStorage.removeItem('Name1');

正如您在上面看到的,为了删除我们使用的特定键值对 localStorage.removeItem 。

会话存储

这就是关于本地存储的全部内容。

我们在 会话存储 中运行类似的操作,唯一的区别是我们 使用 sessionStorage 代替 localStorage :

// 示例1sessionStorage.setItem('Name1', 'uiu');// 示例2sessionStorage.getItem('Name1');// 示例4let ProgrammingLanguage = ['Java', 'Python', 'JavaScript', 'GO+']sessionStorage.setItem('favoriteProgrammingLanguage',JSON.stringify(ProgrammingLanguage));// 示例6console.log(JSON.parse(sessionStorage.getItem('favoriteProgrammingLanguage')));// 示例7sessionStorage.clear()// 示例8sessionStorage.removeItem('Name1');

让我们运行一下

sessionStorage.setItem('Name1', 'uiu');

接下来我们关闭该网页,然后重新打开 此时会话存储的数据已经消失了,而之前示例运行的数据在本地存储中还存在

总结

让我重申一下:本地存储和会话存储之间唯一的主要区别是,一旦我们关闭浏览器,我们就会丢失会话存储中保存的任何内容。但是,本地存储并非如此。

最后,让我们看看 MDN 怎么说:

窗口界面的 localStorage 只读属性允许您访问 Document 来源的 Storage 对象;存储的数据跨浏览器会话保存。

只读 sessionStorage 属性访问当前源的会话存储对象。sessionStorage 类似于 localStorage;不同之处在于,虽然 localStorage 中的数据不会过期,但 sessionStorage 中的数据会在页面会话结束时被清除。

如果对您有帮助,可别忘了点赞 / 收藏 / 评论 / 关注 支持下博主
本文链接地址:https://www.jiuchutong.com/zhishi/300101.html 转载请保留说明!

上一篇:react生命周期详细介绍(react生命周期详解)

下一篇:CTFSHOW菜狗杯 web(正版菜狗)

  • 个人能否申请延迟退休
  • 销售旧货的增值税税率
  • 财务报表怎么重新做
  • 支票存根必须盖银行章吗
  • 税控服务费列入管理费用什么费用?
  • 医药零售行业 利润构成
  • 全资子公司合并报表是权益法还是成本法
  • 企业所得税税率多少
  • 收到备付金怎么做分录
  • 固定资产未验收投入使用
  • 企业所得税发票在哪里打印
  • 银行汇款风险提示
  • 设定提存计划怎么填
  • 软件企业研发费用占比要求
  • 增值税留抵税额在借方还是贷方
  • MAC系统如何卸载重装安装W7系统
  • 电脑中毒蓝屏了怎么办修复
  • 购进商品售价金额核算
  • 公司名下汽车过户给个人
  • 稳增长促转型
  • win10安全中心通知关闭
  • 三代税款手续费支付比例
  • thinkphp withjoin
  • php auth_http类库进行身份效验
  • 部门活动经费怎么算
  • 劳务公司成本票不够怎么办
  • 一证通网上报税流程
  • 命令default
  • 如何修改php.ini
  • 免缴纳的增值税怎么做账
  • 利息收入凭证会计分录
  • 新准则印花税计提会计分录
  • 劳务费发票怎么入账
  • 第三方车主
  • 人力资源公司开票税目
  • 补计提工资什么意思
  • 资产负债表中存货
  • 个人所得税减免项目有哪些
  • 购销合同印花税税率
  • 累计折旧需要分录吗
  • 增值税一般纳税人是什么意思
  • 融资租赁业务如何高效拓展
  • 固定资产改造的配件怎么入账
  • 已抵扣认证的发票开红字发票需要将原票退回吗
  • 价外费用延期付款利息
  • 核销报验登记流程
  • 出售无形资产损失
  • 费用报销单如何审核
  • 哪些资产减值可以转回哪些不可转回
  • SSB(SQLservice Service Broker) 入门实例介绍
  • sqlserver数据库维护
  • mysql5.7.21安装
  • win10硬盘安装器安装教程
  • macos 修改mac
  • freebsd怎么样
  • 笔记本bios密码怎么强制清除
  • wmiex.exe是什么程序
  • win7如何查看图片的rgb
  • 怎么修复xp系统
  • windows右下角
  • 各种linux系统比较
  • windows10总是出现打印机错误
  • linux iocp
  • win10没有win8好用
  • linux硬盘找不到
  • glCopyBufferSubData
  • 简单模拟电路图
  • 如何实现左侧固定,右侧自适应的布局
  • 行为怪异的人有问题吗
  • cssimport
  • Emeditor与dos(cmd)经典使用技巧之批量生成网页
  • jquery上下移动
  • npm与nodejs
  • jquery中keyup
  • javascript面向对象 第三方类库
  • 买药开税票多少税率
  • 陕西省税务发票查询系统
  • 香皂需要换着用吗
  • 河南省地税局副局长
  • 珠海选调生2021公告
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设