浏览器的本地存储
localStorage
与sessionStorage
是html5新增加的两种本地存储方式,可以用来存储搜索记录,登录信息等等。localStorage
与sessionStorage
的使用方法一样,而且它们的api简单易用,并且不会随着http请求发送出去,最大的存储空间为5M。sessionStorage
是具有时效性的,它会在用户关闭浏览器后就自动清空。但localStorage
确不具备时效性,它的数据会永久存储,除非用代码清除或者手动删除,所以我人为封装了一个具有时效性的localStorage
轮子,下面是我的代码:
const set = (key, value) => {
const curTime = new Date().getTime(); //获取当前时间
window.localStorage.setItem(key, JSON.stringify({ date: value, timer: curTime })) //存值,存入key中并转换为json字符串,key自己取名
const get = (key, exp) => {
const localData = localStorage.getItem(key); //获取localStorage
const localDataObj = JSON.parse(localData); //将获取到的数据转换为json格式
const nowTime = new Date().getTime(); //获取现在的时间
//判断是否过期
if (nowTime - localDataObj.timer > exp) {
console.log('数据已过期');
// 数据过期并删除
localStorage.removeItem(key);
return false;
} else {
const data = JSON.parse(localDataObj.data);
return data;
}
}
}