原生js--客户端存储的种类

本文详细介绍了客户端存储技术,包括localStorage和sessionStorage的区别与使用方法。解释了这两种存储方式的有效期、作用域及提供的API,并探讨了如何监听存储事件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

客户端存储遵循同源策略,不同的站点页面之间不可以相互读取对方的数据,但同一站点的不同页面之间可以共享存储的数据

客户端存储的种类:

1、web存储

  localStorage、sessionStorage

2、cookie

3、userData(IE)

4、web数据库(尚未标准化)

  索引数据库API(indexed Database API)

5、文件系统API

  用于将文件通过XHR上传到服务器

 

主要看了localStorage和sessionStorage

区别:

  1、存储的有效期。localStorage为永久存储,除非用户手动删除;sessionStorage为会话存储,页面关闭之后就消失。

  2、作用域:localStorage限定在文件源的级别,只要是同源的页面,都可以共享数据;sessionStorage只能再窗口级别共享数据(窗口为顶级窗口,顶级窗口和子窗口之间可以共享sessionStorage的数据)。

API:

  setItem(“x”, 1)// 设置

  getItem(“x”)// 获取

  remoItem(“x”)// 删除

  clear()// 删除全部

  key(i) // 获取第i个数据的key

存储事件:

  使用localStorage存储数据时,在当前页面存储,会在其他同源页面中触发存储事件(只有存储数据真正发生变化时才会被触发)

  注册存储事件可以使用addEventListener或attachEvent的方法(绝大多数浏览器还可以使用onstorage的方法,但firefox不支持)

事件对象:(IE8不支持)

  key // 被设置或移除的项的键,如果是调用的clear,则该值为null

  newValue // 保存该项的新值,如果是删除,则该值为null

  oldValue // 改变之前的值,如果是新项,则该值为null

  storageArea // localStorage、sessionStorage等

  url // 触发该存储事件的文档url

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值