localStorage如何设置有效期和过期时间
发表于:2024-11-21 作者:千家信息网编辑
千家信息网最后更新 2024年11月21日,这篇文章将为大家详细讲解有关localStorage如何设置有效期和过期时间,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。实现思路在Storage原型上新增两个方法
千家信息网最后更新 2024年11月21日localStorage如何设置有效期和过期时间
这篇文章将为大家详细讲解有关localStorage如何设置有效期和过期时间,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
实现思路
在Storage原型上新增两个方法setCanExpireLocal,getCanExpireLocal,分别用于设置和获取值
实现过期功能至少需要三个时间,存值时间,取值时间,有效时间
存取时间戳都是在函数被调用时在函数内通过Date.now()生成
有效时间在存值的时候传入
如果存值时间戳加上有效时间小于当前时间戳说明还没过期,就返回该值
反之就过期了,删除该值并返回null
实现代码
// 存值函数 // 接收三个参数:键、值、有效天数 Storage.prototype.setCanExpireLocal = (key, value, expire) => { // 判断传入的有效期是否为数值或有效 // isNaN是js的内置函数,用于判断一个值是否为NaN(非数值), // 非数值返回true,数值返回false // 还可以限制一下有效期为整数,这里就不做了 if (isNaN(expire) || expire < 1) { throw new Error('有效期应为一个有效数值') } // 86_400_000一天时间的毫秒数,_是数值分隔符 let time = expire * 86_400_000 let obj = { data: value, //存储值 time: Date.now(), //存值时间戳 expire: time, //过期时间 } // 注意,localStorage不能直接存储对象类型,sessionStorage也一样 // 需要先用JSON.stringify()将其转换成字符串,取值时再通过JSON.parse()转换回来 localStorage.setItem(key, JSON.stringify(obj)) } // 取值函数 // 接收一个参数,存值的键 Storage.prototype.getCanExpireLocal = key=> { let val = localStorage.getItem(key) // 如果没有值就直接返回null if (!val) return val // 存的时候转换成了字符串,现在转回来 val = JSON.parse(val) // 存值时间戳 + 有效时间 = 过期时间戳 // 如果当前时间戳大于过期时间戳说明过期了,删除值并返回提示 if (Date.now() > val.time + val.expire) { localStorage.removeItem(key) return '值已失效' } return val.data } // 存值 Storage.prototype.setCanExpireLocal('测试', '一天后过期', 1) // 取值 Storage.prototype.getCanExpireLocal('测试')
关于"localStorage如何设置有效期和过期时间"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
时间
有效
有效期
函数
数值
篇文章
三个
时候
更多
测试
不错
实用
两个
代码
内容
功能
原型
参数
天后
天数
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
成都办公系统软件开发有用吗
igi数据库
青海智慧土地gis系统软件开发
大屏幕200人活动服务器要求
互联网是世界性的科技吗
数据库安装时报端口在用
网络安全协调局卿昱
cad变成数据库
网络安全测评标准发展
网络安全机构包括哪些
内部网络安全的措施
oracal数据库分页语句
浙江新一代网络技术服务技术
校园网络安全日手抄报
魔兽怀旧服压力测试服务器
数据库表单结构
数据库应用与实践mysql
数据库登录名的sid修改
软件开发维护公司会计
本地服务器放冲突
湄潭县网络技术服务部
软件开发和咨询税收筹划
数据库技术应用实践答案
江苏标准软件开发咨询报价
数据库现行保护模式
服务器承载力那家游戏做得好
软件开发前十名
网络技术与应用冯先成答案
河南服务器机房厂家直销
江西调度服务器批发虚拟主机