先介绍一些storage的API
1、使用localStorage存储数据
localStorage.setItem('test1', 'test');
2、删除localStorage数据
delete localStorage.test1; // 方式1:使用delete操作符
localStorage.removeItem('test1'); // 方式2:使用removeItem()方法
localStorage.clear(); // 方式3:使用clear()方法,注意该方法会删除全部数据
3、设置localStorage过期时间的实例(模拟)
我们都知道,localStorage的数据如果不进行手动删除或者删除缓存的话,是永久保存的。
那么如果需要像sessionStorage那样有一个过期时间,需要怎么做呢?
首先,还是要给一个过期的时间,放在第二个参数中,然后在调用数据的时候,判断当前时间是否大于设置的过期时间,如果是,那么就将数据删除,然后做一个相应提示或操作即可。
代码
let setTime = new Date().getTime() + (1000 * 60); // 测试,设置1分钟后数据过期
localStorage.setItem('test', JSON.stringify({
data: 'data1',
expiration: setTime
}));
let data = localStorage.test;
data = JSON.parse(data)
let time = data.expiration;
let value = data.data;
if(new Date().getTime() > time) {
delete localStorage.test;
// 这里开始执行超时的代码
}
else {
// 这里开始执行未超时的代码
}