H5本地存储,localStorage和

 H5本地存储

  1. localStorage的特点
  • 生命周期:持久化的本地存储,除非主动删除数据,否则数据是永远不会过期的
  • 储存的信息在同一域中是共享的,localStorage受同源策略的约束。
  • 当本页面操作(修改,删除,新增)了localStorage的时候,本页面不会触发storage事件,但是别的页面会触发storage事件(注意storage事件只能在服务器环境下触发)

大小:据说是5M(跟浏览器有关),localStorage本质上是对字符串的读取,如果储存的内容过多的话会消耗内存空间,导致页面加载时间变长。

在非ie的浏览中可以在本地打开,ie浏览器又在服务器中打开。

设置:localStorage.setItem("userName","value")

获取:localStorage.getItem("userName")

也可获取键名:localStorage.key(0) 获取第一个键名

删除:localStorage.removeItem("userName")

清空所有:localStorage.clear()

注意:当本页面操作(修改,删除,新增)了localStorage的时候,本页面不会触发storage事件,但是别的页面会触发storage事件,这个事件需要给要使用本地储存并要求是最新的页面中添加,加给window对象,事件对象e中保存了storageEvent对象

属性含义
key设置或删除或修改的键名,调用clear()时,则为null
oldvalue改变之前的旧值,如果是新增元素,则为null
newvalue改变之后的新值,如果是删除元素,则为null
storageArea该属性是一个引用,指向发生改变的sessionStorage对象或localStorage对象
url触发这个改变事件页面的url

2. sessionStorage

和localStorage对象的设置,储存修改,删除都一模一样,用于本地储存一个会话(session)中的数据,在本页面关闭后会自动销毁,如果在新窗口开启同源的另一页面,sessionStorage也是没有的

 localStorage和sessionStorage和cookie的区别

  • 相同:在本地(浏览器端储存数据)
  • 不同:
    • localStorage,只要在相同的的协议,相同的端口、相同的主机名下,就能读取/修改同一份localStorage数据
    • sessionStorage比localStorage更苛刻一点,除了协议、端口、和主机名外,还要求在同一窗口(也就是浏览器标签页下)下。
    • localstorage是永久储存的,除非手动删除 
    • sessionStorage 当前会话结束(当前页面关闭后,自动销毁)
    • cookie的数据会在每一次发送http请求的时候同时发送给服务器,而localStorage和sessionStorage不会。

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值