封装localStorage(常用函数)
程序员文章站
2022-08-04 11:36:48
localStorage的常用函数:
setItem(key, value);//设置值
getItem(key);//获取值
removeItem(key);//删除指...
localStorage的常用函数:
setItem(key, value);//设置值 getItem(key);//获取值 removeItem(key);//删除指定值 clear();//清空所有 key(i);//获取指定位置的值
查看浏览器是否支持localStorage:window.localStorage,可以在浏览器的控制台(F12,console)输入代码,
if(window.localStorage){ console.log('支持'); }else{ console.log('不支持'); }
封装localStorage的设置和获取,如下
var custom_localStorage = { set : function(key, value){ var item = { data : value } //序列化对象之后变成字符串再来存储 localStorage.setItem(key, JSON.stringify(item)); } get : function(key){ var val = localStorage.getItem(key); if(!val) return null; return JSON.parse(val);//把序列化字符串解析成对象返回 } } var __localStorage = { //添加缓存时间,缓存时间以天计算 set : function(key, value, days){ //判断是否传递参数days if(typeof(days) == 'undefined'){ var item = { data : value }; }else{ var item = { data : value, endTime : new Date() . getTime() + days * 24 * 60 * 60 * 1000 }; } localStorage.setItem(key, JSON.stringify(item)); } get : function(key){ var val = localStorage.getItem(key); if(!val) return null; val = JSON.parse(val); //判断是否设置过期时间 if(typeof(val.endTime) == 'undefined' || (typeof(val.endTime) != 'undefined' && val.endTime > new Date().getTime())){ return val.data; }else{ localStorage.removeItem(key); return null; } } }
上一篇: C++11 基于范围的for循环讲解