1.localStorage属于永久储存,除非设置一个定时删除函数。
设置定时删除localStorage函数
function delLocal(clearTime,key) {
let t = setIterval(() => {
let futureTime = new Date(clearTime).getTime(); // 获取设置的定时时间到1970/1/1 零时的总毫秒数
let currentTime = new Date().getTime(); // 获取当前时间到1970/1/1 零时的总毫秒数
if(futureTime <= currentTime) { // 如果设定时间小于当前时间
if(!key) { // 如果key为空
localStorage.clear(); // 清理所有缓存
clearInterval(t); // 关闭定时器
} else { //如果key不为空
localStorage.removeItem(key); // 清理指定缓存
clearInterval(t);
}
}
},1000) // 设置一个定时器函数,每隔一段时间就刷新一下状态
}
2.sessionStorage
特性和localStorage是一样的,不过该缓存关闭浏览器就会删除,本地文件也会一起删除,是临时存在的。
设置方法:sessionStorage.setItem(‘name’, ‘zhangsan’);
设置方法其实和localStorage是一样的。
3.localStorage/sessionStorage/cookie三者的区别
1.localStorage和sessionStorage特性几乎一样,都是5MB最大存储大小,因为本地存储数据而存在,但是localStorage是永久保存,而sessionStorage是临时存在,关闭浏览器即消失。
2.cookie的大小为4KB,是服务器存在客户端上的文件,可以自由设置过期时间。