存值
var user={"name":"zhangsan","age":18};
function save(){
localStorage.setItem("user",JSON.stringify(user));
console.log("保存成功");
}
取值
function findUser(){
alert(localStorage.getItem("user"));
}
删除
function removeUser() {
localStorage.removeItem("user");
console.log("删除成功");
}
修改
function updateUser() {
user.age++;
localStorage.setItem("user",JSON.stringify(user));
console.log("修改成功");
}
storage事件
监听storage事件 一旦有localStorage发生改变 就会触发;
页面1:
<script>
window.addEventListener("storage",function (data) {
console.log(data);
});
</script>
页面2:
<body>
<div onclick="localStorageUpdate()">修改localStorage</div>
</body>
<script>
function localStorageUpdate(){
localStorage.setItem("user","张三2");
console.log("修改成功");
}
</script>
为LocalStorage设置时间
localStorage原生是不支持设置过期时间的,想要设置的话,我们可以自己来封装一层逻辑
function setTimelocalStorage(key,value) {
var cutime=new Date().getTime();
localStorage.setItem(key,JSON.stringify({val:value,time:cutime}));
}
function getTimelocalStorage(key,exp) { //exp 是设置的过期时间
var dataobj =JSON.parse(localStorage.getItem(key));
if (new Data.getTime()-dataobj.time>=exp){
console.log("过期");
}else{}
}
原理:
存值的时候存附带一个设置的时间
取值的时候传一个过期时间(毫秒),和存的时候作比较,然后作相应的操作