详解localstorge,seesionstorage

写在前面

这篇文章将对H5提供的sessionStorage以及localstorge做一个详细的介绍
篇幅如下:

  • 介绍
  • 基本用法
  • 不同存储方式之间的区别

介绍(MDN)

  • sessionStorage属性允许你访问一个 session Storage 对象。它与 localStorage 相似,不同之处在于 localStorage 里面存储的数据没有过期时间设置,而存储在 sessionStorage里面的数据在页面会话结束时会被清除。页面会话在浏览器打开期间一直保持,并且重新加载或恢复页面仍会保持原来的页面会话。在新标签或窗口打开一个页面会初始化一个新的会话,这点和 session cookies 的运行方式不同。

  • 只读的localStorage 允许你访问一个Document 的远端(origin)对象 Storage;数据存储为跨浏览器会话。 localStorage 类似于sessionStorage。区别在于,数据存储在 localStorage 是无期限的,而当页面会话结束——也就是说当页面被关闭时,数据存储在sessionStorage 会被清除 。

简单来看,localStorage是一个浏览器持久化存储方案,而sessionStorage与session不同的是它只存在于一个页面之中,新开页面的话sessionStorage会被重置。 应注意无论数据存储在 localStorage 还是 sessionStorage ,它们都特定于页面的协议

基本用法

首先我们来看一下sessionStorage的操作
1.保存数据到sessionStorage

sessionStorage.setItem('key', 'value');

2.从sessionStorage获取数据

var sessionData = sessionStorage.getItem('key');

3.从sessionStorage删除保存的数据

sessionStorage.removeItem('key');
  1. 移除所有
sessionStorage.clear();

相同的 localStorage也有着类似的操作

  1. 保存数据
 localStorage.setItem(`key`, `value`);
  1. 获取数据
let cat = localStorage.getItem(`key`);
  1. 删除单个数据
localStorage.removeItem(`key`);
  1. 移除所有
localStorage.clear();

可以通过 localStorage.length 来获取localStorage中键值对的数量,同样的也可以通过 localStorage.key() 方法来遍历 localStorage 存储的键值。

storage 事件

当存储的数据发生变化时,会触发 storage 事件。但要注意的是它不同于click类的事件会事件捕获和冒泡,storage 事件更像是一个通知,不可取消。触发这个事件会调用同域下其他窗口的storage事件,不过触发storage的窗口(即当前窗口)不触发这个事件。storage 的 event 对象的常用属性如下 (当前窗口不触发,其他窗口会触发) 。
changeEvent的常用属性如下:

oldValue:更新前的值。如果该键为新增加,则这个属性为null。
  newValue:更新后的值。如果该键被删除,则这个属性为null。
  url:原始触发storage事件的那个网页的网址。
  key:存储store的key名

cookies,sessionStorage和localStorage的区别
我在另外一篇文章有仔细写 ,欢迎查阅 https://blog.csdn.net/qq_28167307/article/details/85162825

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值