![41e57f29219f55748300c8b2c6845619.png](https://i-blog.csdnimg.cn/blog_migrate/ee781e749bb8bfb8caa130a885138a0c.jpeg)
除非被清除,否则永久保存
大小一般为5MB
仅在客户端(即浏览器)中保存,不参与和服务器的通信
存在 XSS 注入的风险,只要打开控制台,就可以随意修改它们的值
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')