JS设置localStorage有效期

localStorage存储
我们通过以下方式将数据储存到localStorage中

window.localStorage.setItem('key',value)
1
但有时value为一个对象Object,以上面的方式写入,会出现读取的返回值为
{object Object}的情况,但这并不是我们想要的,此时我们需要使用新的方式
传入Object

window.localStorage.setItem('param',JSON.stringify(Object))
1
通过JSON.stringify(Object)方法将对象转化为一个json格式的字符串进行存储

localStorage读取
我们通过以下方式来读取localStorage中的值

window.localStorage.getItem("key")
1
相对的在读取json格式字符串只有我们也无法直接使用,需要将它转换为josn对象之后才是我们想要的结果,所以我们需要调用 JSON.parse()方法来进行转化,
之后在继续使用

JSON.parse(window.localStorage.getItem("key"))
1
localStorage删除
我们通过以下方法来删除对应key以及key中的内容

window.localStorage.removeItem('key')
1
localStorage清空所有的key
清空localStorage中所有的key;
注意:请谨慎使用,它会清空所有的本地存储数据

window.localStorage.clear()
1
————————————————
版权声明:本文为CSDN博主「沈胖三」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/she8362315/article/details/82900662

 

 

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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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) {
            debugger
            if (data.expirse != null && data.expirse < new Date().getTime()) {
                localStorage.removeItem(key);
            else {
                return data.value;
            }
        }
        return null;
    }
}
posted @ 2020-01-21 15:52  无聊的蚂蚁  阅读(2131)  评论(0)    收藏  举报