sessionStorage和localStorage的异同

 sessionStorage和localStorage都是html5 新增的Web Storage客户端本地保存数据的功能,我们主要从以下几点进行区别:

作用域

  • localStorage在相同的协议、相同的主机名、相同的端口下,就能读取/修改到同一份localStorage数据。
  • sessionStorage 除了协议、主机名、端口外,还要求在同一窗口(也就是浏览器的标签页)下,如果打开一个同源的页面,会把sessionStorage里面的数据复制过去,但是两个sessionStorage分属不同作用域,即修改读取的不是同一份sessionStorage数据。如果是在当前页面如刷新当前页面,数据还在。
 window.open("./index.html", "_blank");  // 复制sessionStorage的数据,但是修改读取的不是同一份sessionStorage数据。

生命周期

  • localStorage的储存是永久的,除非手动清除,不然会一直保存着
  • sessionStorage属于会话级存储,在同源的浏览器窗口始终存在,只要这个浏览器窗口没有关闭,即使刷新页面或者进入同源另一个页面,数据依然存在,关闭窗口则销毁。

存储大小

  • localStorage和sessionStorage的存储数据大小一般都是:5MB(Chrome),不同的浏览器有所差异。

储存类型

  • localStorage和sessionStorage都是按照键值对来存储的,但是它的值只能存储字符串类型,我们通常可以采用JSON.stringify()和JSON.parse()来转化。

方法

localStorage的方法与sessionStorage的方法一样

存: sessionStorage.setItem("key", "value");
取:sessionStorage.getItem("key");
删除:sessionStorage.removeItem("key");
清空:sessionStorage.clear();

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容