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在所有相同源(指域名、协议和端口号都相同)的窗口和选项卡中都可以访问
向sessionStorage中添加一条数据
sessionStorage.setItem( key, value )
从sessionStorage中获取一条数据
sessionStorage.getItem( key)
在sessionStorage中移除一条数据
sessionStorage.removeItem( key )
清除所有sessionStorage
sessionStorage.clear()
sessionStorage 的缺点
sessionStorage 中存储的数据不会被自动随着请求被发送到服务端,可存储的数据大小相比 cookie 来说大了很多,但是只存在于一个会话周期内,当浏览器关闭或标签页关闭时,数据即会被删除(前进和后退并不会影响到数据,因为还在当前的会话中),这就导致了即便是同一个网站,但在不同的标签页和窗口内,也无法共享其中存储的数据