客户端存储——localStorage和sessionStorage
在实现了Web存储的浏览器的window对象上,定义了两个属性:localStorage和sessionStorage,这两个对象都代表同一个持久化的关联数组对象Stroage对象。二者的根本区别在于作用域和保存期限的不同。这个后面再说,下面先说一下定义在二者之上的属性和方法。
第一段引用了JS权威指南的概念。。。那么,下面就想到哪说到哪,整点自己的大白话吧~由于二者用法都一样,所以就以localStorage为例 吧
二者同样代表一个持久化的数据对象storage,那么lenght属性应该不少了,在控制台可以通过
<span style="white-space:pre"> </span>console.log(localStorage.length)//此时会打印你所在窗口的该对象的名值对的长度~
此外,每一个添加的键值对中的键,都可以看做其属性,这一点应该是没太大问题的,然后就可以通过 localStorage.nam或者localStorage["nam]"来访问咯
四个方法,setItem("name",value)/getItem("name")/key(index)/remove("name"),四个方法真没什么好说的,记住就好了,特别的,setItem是两个参数。
此外还有一个不需要参数的方法clear(),就是把数据全部清空~
下面说一哈期限的问题吧,localStorage可以看做无限期,当然,可以通过浏览器设置清除的。。也可以clear()....
sessionStorage则是标签页关闭就清除了(不过现在浏览器基本都可以在异常关闭后恢复原来的状态)
作用域的话就能说叨多点的。。。
localStorage作用域是基于文档源的,sessionStorage作用域也是基于文档源的,但是更加严苛,即在不同标签页中打开的同源文档,也是单独储格子的sessionStorage的(iframes除外)。
至于什么是文档源,协议+主机+端口三者,一个不同就不同源,求与就好了。。。。
当他们存储的数据发生变化的时候,会触发storage事件,但是是真正的值发生改变,即前后有变化才会触发。
阅读更多声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
- 上一篇:没有了
- 下一篇:没有了