localmemory
Version:
localStorage和sessionStorage的封装
2 lines (1 loc) • 1.06 kB
JavaScript
var e=function(){function e(e){"undefined"!=typeof window&&(this.memory="localStorage"===e?window.localStorage:window.sessionStorage)}return e.prototype.setItem=function(e){if("undefined"!=typeof window){var t={name:"",value:"",expired:"",startTime:(new Date).getTime()/1e3},o=Object.assign({},t,e);if(o.expired)this.memory.setItem(o.name,JSON.stringify(o));else{var n=Object.prototype.toString.call(o.value);"[object Object]"!==n&&"[object Array]"!==n||(o.value=JSON.stringify(o.value)),this.memory.setItem(o.name,o.value)}}},e.prototype.getItem=function(e){if("undefined"==typeof window)return"";var t=this.memory.getItem(e);if(t&&"null"!=t&&"undefined"!=t){try{t=JSON.parse(t)}catch(e){}return t.expired?(new Date).getTime()/1e3-t.startTime>t.expired?(this.memory.removeItem(e),!1):t.value:t}},e.prototype.removeItem=function(e){"undefined"!=typeof window&&this.memory.removeItem(e)},e.prototype.clear=function(){"undefined"!=typeof window&&this.memory.clear()},e}(),t=new e("localStorage"),o=new e("sessionStorage");export{t as localMemory,o as sessionMemory};