<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
</head>
<body>
<script>
class Storage {
constructor(name) {
this.name = name;
}
setItem(params) {
let obj = {
key: "",
value: "",
expires: "",
startTime: new Date().getTime(),
};
let options = Object.assign({}, obj, params);
if (options.key) {
if (options.expires) {
localStorage.setItem(options.key, JSON.stringify(options));
} else {
if (typeof option.value === "object") {
let value = JSON.stringify(options.value);
localStorage.setItem(options.key, value);
} else {
localStorage.setItem(options.key, options.value);
}
}
} else {
throw new Error("请添加key值");
}
}
getItem(key) {
let obj = JSON.parse(localStorage.getItem(key));
if (obj.expires) {
if (parseInt(obj.startTime) + parseInt(obj.expires) < new Date().getTime()) {
console.log(43);
localStorage.removeItem(obj.key);
return `${obj.key}已过期`;
}
}
return obj;
}
}
let storage = new Storage("test");
// storage.setItem({key: 'name', value:'mystic', expires: 5000})
let res = storage.getItem("name");
console.log(res);
</script>
</body>
</html>
localstorage设置过期时间
最新推荐文章于 2023-12-01 11:33:26 发布