JS设置localStorage有效期

localStorage是一个没有时间限制的数据存储,如果没有手动删除它,它将永久保存。

但是有些时候我们又需要它在一段时间后自动删除,这里我们可以对它进行扩展。

var date = new Date().getTime();
//设置localStorage的值
foowwLocalStorage.set("test", "你好", date + 10000);
//获取localStorage的值
var data = foowwLocalStorage.get("test");


const foowwLocalStorage = {
    set: function (key, value, ttl_ms) {
        var data = { value: value, expirse: new Date(ttl_ms).getTime() };
        localStorage.setItem(key, JSON.stringify(data));
    },
    get: function (key) {
        var data = JSON.parse(localStorage.getItem(key));
        if (data !== null) {
            if (data.expirse != null && data.expirse < new Date().getTime()) {
                localStorage.removeItem(key);
            } else {
                return data.value;
            }
        }
        return null;
    }
}

  

posted @ 2019-02-02 10:29  李怀瑾  阅读(19334)  评论(1编辑  收藏  举报