定义
//定义当前webStorage的类型(localStorage本地存储和sessionStorage会话存储) var storage=window.localStorage; //定义全局对象 var Storage={ set:function (k,v) { var temp={}; for(i in v){ temp[i]={}; temp[i]['val']=v[i] if(v[i] instanceof Array){ temp[i]['type']='Array'; }else if(v[i] instanceof Date){ temp[i]['type']='Date'; temp[i]['val']=v[i].getTime(); }else{ temp[i]['type']=typeof v[i]; } } storage.setItem(k,JSON.stringify(temp)); }, get:function (k) { var accept=JSON.parse(storage.getItem(k)); var temp={}; for(i in accept){ switch(accept[i].type) { case 'Date': temp[i]=new Date(accept[i].val); break; default: temp[i]=accept[i].val; } } return temp; } }
使用
//使用 var people={ name:'dsh', age:20, sex:'男', now:new Date(), love:['iphone','girl'] } Storage.set('people',people) console.log('原始数据:',people) console.log('Storage数据:',Storage.get('people'))
效果
说明
本来只是想着,简单的json转字符串,然后在字符串转json对象呢。结果storage不支持Date类型,存进去会变。所以就了个类型,然后转时间戳