一文带你搞懂前端本地存储( 二 )


  • 存储Storage
/** * 存储Storage */export const setStore = (params = {}) => {  let {    name,//名称    content,//内容    type,//类型  } = params;  let obj = {    dataType: typeof (content),    content: content,    type: type,    datetime: new Date().getTime()  }  if (type) window.sessionStorage.setItem(name, JSON.stringify(obj));  else window.localStorage.setItem(name, JSON.stringify(obj));}
  • 获取Storage
/** * 判断是否为空 */function validatenull (val) {  if (typeof val === 'boolean') {    return false  }  if (typeof val === 'number') {    return false  }  if (val instanceof Array) {    if (val.length == 0) return true  } else if (val instanceof Object) {    if (JSON.stringify(val) === '{}') return true  } else {    if (val == 'null' || val == null || val == 'undefined' || val == undefined || val == '') return true    return false  }  return false}/** * 获取Storage */export const getStore = (params = {}) => {  let {    name,//名称    debug//是否需要转换类型  } = params;  let obj = {},    content;  obj = window.sessionStorage.getItem(name);  if (validatenull(obj)) obj = window.localStorage.getItem(name);  if (validatenull(obj)) return;  try {    obj = JSON.parse(obj);  } catch{    return obj;  }  if (debug) {    return obj;  }  if (obj.dataType == 'string') {    content = obj.content;  } else if (obj.dataType == 'number') {    content = Number(obj.content);  } else if (obj.dataType == 'boolean') {    content = eval(obj.content);  } else if (obj.dataType == 'object') {    content = obj.content;  }  return content;}
  • 删除Storage
/** * 删除localStorage */export const removeStore = (params = {}) => {  let {    name,    type  } = params;  if (type) {    window.sessionStorage.removeItem(name);  } else {    window.localStorage.removeItem(name);  }}
  • 获取全部Storage
/** * 获取全部Storage */export const getAllStore = (params = {}) => {  let list = [];  let {    type  } = params;  if (type) {    for (let i = 0; i <= window.sessionStorage.length; i++) {      list.push({        name: window.sessionStorage.key(i),        content: getStore({          name: window.sessionStorage.key(i),          type: 'session'        })      })    }  } else {    for (let i = 0; i <= window.localStorage.length; i++) {      list.push({        name: window.localStorage.key(i),        content: getStore({          name: window.localStorage.key(i),        })      })    }  }  return list;}


推荐阅读