当前位置: 代码迷 >> 综合 >> localStorage 和 sessionStorage 的区别
  详细解决方案

localStorage 和 sessionStorage 的区别

热度:8   发布时间:2023-12-06 21:14:17.0

localStorage 和 sessionStorage 的定义

Web 存储 API 提供了 sessionStorage (会话存储) 和 localStorage(本地存储)两个存储对象来对网页的数据进行添加、删除、修改、查询操作。

  • localStorage 用于长久保存整个网站的数据,保存的数据没有过期时间,直到手动去除。
  • sessionStorage 用于临时保存同一窗口(或标签页)的数据,在关闭窗口或标签页之后将会删除这些数据。

localStorage 和 sessionStorage 的相同点

  • 都是存储在客户端
  • 增删改查的方法都一样,getItem、setItem、removeItem、clear
  • localStorage 和 sessionStorage ??????? 都是 Web 存储 API 提供的两个存储对象来对网页的数据进行添加、删除、修改、查询操作。

localStorage 和 sessionStorage 的不同点

  • localStorage 在浏览器中存储 key/value 对。没有过期时间。
  • sessionStorage 在关闭窗口或标签页之后将会删除这些数据。

面试经验

面试的时候总是有人问,什么是localStorage ,什么是 sessionStorage,有什么不一样吗

  • 问:他们的过期时间分别是多少?
  • 答:其实 localStorage 并没有过期时间,只能通过手动清除才会消失,
    sessionStorage 在关闭窗口或标签页之后将会删除这些数据
  • 问:sessionStorage 关闭窗口或标签页会删除,下次打开这个标签页或窗口还有吗?
  • 答:没有了,因为删除就是删除了,下次打开该窗口或者标签页,上次存储的内容已经消失了
  • 问:那 localStorage 关闭标签页或者浏览器会消失吗?
  • 答:不会消失
  • 问:那下次打开浏览器 localStorage 的数据就有了是吗
  • 答:其实 localStorage 并不是存储在浏览器本地,而是存储在 URL 标签页的本地,下次打开同个网址,存储的localStorage 还是存在的,但是打开通个浏览器,不同网址,是不存在的(个人理解)

本文是个人的理解,如有不妥,请赐教