sessionStorage和locationStorage的区别

sessionStorage和locationStorage的区别

两者存活时间长度不同。
sessionStorage是临时存储,存放在内存中,当窗口tab页关闭时,数据就消失了;
locationStorage是长久存储,存放在磁盘中,当程序结束是,数据仍保留。

该回答引自ChatGpt
sessionStorage和localStorage都是Web Storage API提供的本地存储方式,可以在浏览器端记录和存储数据。二者的区别如下:

1.数据生命周期不同:localStorage存储的数据是永久性的,除非用户手动删除或清除浏览器缓存,否则数据会一直存在;而sessionStorage存储的数据在会话结束时被清除,意味着当用户关闭浏览器窗口或标签页时,数据将被删除。

2.存储范围不同:localStorage存储的数据可以跨越多个窗口和标签页访问,它们共享相同的localStorage实例;而sessionStorage存储的数据只属于当前会话(即窗口或标签页)。

3.存储大小限制不同:localStorage可以存储更多的数据,一般来说可以存储5~10MB的数据量(具体大小限制取决于具体的浏览器实现),而sessionStorage通常只能存储几十KB的数据。

综上,localStorage适用于需要永久保存的数据,而sessionStorage适用于需要在会话期间临时保存的数据(例如表单数据),并且存储的数据量较小。

1.是存储时间, sessionStorage当用户关闭浏览器选项卡或窗口时,数据会被清除。 而localStorage可以一直存在于浏览器中,即使用户关闭了浏览器或者电脑重新启动。
2.是作用域,sessionStorage只在当前窗口或选项卡中可用, localStorage在所有相同源(指域名、协议和端口号都相同)的窗口和选项卡中都可以访问

  • 请看👉 :locationStorage和sessionStorage的用法总结
  • 除此之外, 这篇博客: 三种本地存储策略的区别中的 sessionStorage 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 向sessionStorage中添加一条数据

    sessionStorage.setItem( key, value ) 

    从sessionStorage中获取一条数据

    sessionStorage.getItem( key) 

    在sessionStorage中移除一条数据

    sessionStorage.removeItem( key ) 

    清除所有sessionStorage

    sessionStorage.clear() 

    sessionStorage 的缺点

    sessionStorage 中存储的数据不会被自动随着请求被发送到服务端,可存储的数据大小相比 cookie 来说大了很多,但是只存在于一个会话周期内,当浏览器关闭或标签页关闭时,数据即会被删除(前进和后退并不会影响到数据,因为还在当前的会话中),这就导致了即便是同一个网站,但在不同的标签页和窗口内,也无法共享其中存储的数据