sessionStorage 和 localStorage 都是 Web Storage API 的一部分,它们允许在用户浏览器中存储数据。两者的主要区别在于数据的持久性:
- sessionStorage 存储的数据在浏览器会话结束时会被清除(即关闭所有属于该域名的标签页)。
- localStorage 存储的数据则会永久保存,除非用户或代码明确删除。
1、存入数据setItem
使用 setItem 方法来设置数据。数据必须是字符串形式,因此如果要存储对象或数组,需要先转换为字符串,通常使用 JSON.stringify() 方法。
window.sessionStorage.setItem(key, JSON.stringify(obj))
window.localStorage.setItem(key, JSON.stringify(obj))
2、获取数据
使用 getItem 方法来获取数据。如果之前存储的是经过序列化的对象或数组,需要使用 JSON.parse() 方法将字符串转换回原始格式。
let res1 = window.sessionStorage.getItem(key)
JSON.parse(res1)
let res2 = window.localStorage.getItem(key)
JSON.parse(res2)
3、删除数据
使用 removeItem 方法删除特定键的数据,或者使用 clear 方法清空整个存储空间。
window.sessionStorage.removeItem(key)
window.localStorage.removeItem(key)
5、检查是否支持 Web Storage
在某些情况下,Web Storage 可能不可用,例如在无痕模式下或当浏览器不支持 Web Storage 时。可以通过检查 window.sessionStorage 或 window.localStorage 是否可用来进行检测。
if (typeof(Storage) !== "undefined") {
// 浏览器支持 Web Storage
} else {
// 浏览器不支持 Web Storage
}