localStorage
和 sessionStorage
是 HTML5 提供的两种在客户端存储数据的方式,它们都可以在浏览器端存储数据,不同之处在于数据的生命周期和作用域。
localStorage
localStorage
用于长期保存整个网站的数据,保存的数据没有过期时间,直到手动删除。- 数据存储在客户端,不会被发送到服务器端。
- 可以通过 JavaScript 的
localStorage
对象进行读取和写入操作。 - 存储的数据是以键值对的形式存储的。
sessionStorage
sessionStorage
用于临时保存同一窗口(或标签页)的数据,在关闭窗口或标签页之后数据会被清除。- 数据存储在客户端,不会被发送到服务器端。
- 可以通过 JavaScript 的
sessionStorage
对象进行读取和写入操作。 - 存储的数据也是以键值对的形式存储的。
使用场景
localStorage
适合长期保存用户的数据,比如用户的个性化设置(主题之类的)、登录状态等。sessionStorage
适合临时保存一些会话期间需要用到的数据,比如表单数据、页面状态等。
页面状态:指页面的一些临时性状态或者用户的行为状态,比如:
- 页面是否处于活跃状态(用户当前正在浏览页面)或非活跃状态(用户当前不在浏览页面)。
- 页面上某个组件或功能是否被激活或者禁用。
- 页面上某个模态框或者弹窗是否已经打开或者关闭。
- 页面上某个表单是否已经提交或者重置。
在开发中,我们可以使用
sessionStorage
来保存这些页面状态,以便在页面刷新或者导航时能够保持这些状态,提高用户体验。
使用方法示例
// 使用 localStorage 存储数据
localStorage.setItem('key', 'value');
let data = localStorage.getItem('key');
console.log(data); // 输出:value
// 使用 sessionStorage 存储数据
sessionStorage.setItem('key', 'value');
let data = sessionStorage.getItem('key');
console.log(data); // 输出:value