localStorage设置过期时间用法

1、存

localStorage.setItem("phone", "123")

//对象
let obj = {"name":"xiaoming","age":"16"}
localStorage.setItem("phone",JSON.stringify(obj));

2、取

localStorage.getItem("phone")

//对象
let user = JSON.parse(localStorage.getItem("phone"))

3、删

//指定删
localStorage.removeItem('phone');

//全删
localStorage.clear(); 

4、设置localStorageSet 过期时间

//设置缓存
const localStorageSet = (name, data) => {
    const obj = {
        data,
        expire: new Date().getTime() + 1000 * 60 * 30
    };
    localStorage.setItem(name, JSON.stringify(obj));
};

5、读取缓存,且比较时间戳是否过期

//读取缓存
const localStorageGet = name => {
    const storage = localStorage.getItem(name);
    const time = new Date().getTime();
    let result = null;
    if (storage) {
        const obj = JSON.parse(storage);
        if (time < obj.expire) {
            result = obj.data;
        } else {
            localStorage.removeItem(name);
        }
    }
    return result;
};

6、使用

//存
localStorageSet('weather', data)

//取(返回null则过期)
localStorageGet('weather')

可以换成上面的localStorage 方式

localStorage设置过期时间用法
存储一个有效期到当天晚上23:59:59失效的cookie。


//当前日期
                    var curDate = new Date();
                    //当前时间戳
                    var curTamp = curDate.getTime();
                    //当日凌晨的时间戳,减去一毫秒是为了防止后续得到的时间不会达到00:00:00的状态
                    var curWeeHours = new Date(curDate.toLocaleDateString()).getTime() - 1;
                    //当日已经过去的时间(毫秒)
                    var passedTamp = curTamp - curWeeHours;
                    //当日剩余时间
                    var leftTamp = 24 * 60 * 60 * 1000 - passedTamp;
                    var leftTime = new Date();
                    leftTime.setTime(leftTamp + curTamp);
                    //创建cookie
                    document.cookie = cookieName + "=" + escape(cookieValue + id + ',') + ";expires=" + leftTime.toGMTString();
/*
功能:获取cookies函数  
参数:name,cookie名字
*/
function getCookie(name)
{
    var arr = document.cookie.match(new RegExp("(^| )" + name + "=([^;]*)(;|$)"));
    if (arr != null)
    {
        return unescape(arr[2]);
    } else
    {
        return null;
    }
}
var cookieValue = getCookie(cookieName);



  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值