优秀的编程知识分享平台

网站首页 > 技术文章 正文

分享一个自研localStorage工具方法

nanyue 2024-08-10 18:37:33 技术文章 6 ℃

最近项目中使用到了localStorage 方法,原生方法使用起来肯定是不方便的,满足不了使用需求,于是自己就封装了一个 ,具备 set,get ,clear 功能。要求是保证数据类型的读写一致,也就是说,set什么类型的值进去,get的结果必须是这个类型。

上代码:

// storage
const storage = {
  set(key,val){
    if(!window.localStorage){
      return
    }
    if(typeof val ==='object'){
      localStorage.setItem(key,JSON.stringify(val))
    }else{
      localStorage.setItem(key,val)
    }
  },
  get(key){
    if(!window.localStorage){
      return
    }
    let _data = localStorage.getItem(key);
    if(!_data){
      return null;
    }
    if(_data.indexOf('{"') > -1 || _data.indexOf('[') >-1 || !isNaN(_data) || _data ==='false' || _data ==='true'){
      _data = JSON.parse(localStorage.getItem(key))
    }
    return _data
  },
  clear(key){
    if(!window.localStorage){
      return
    }
    localStorage.removeItem(key)
  }
}
export {
  storage
}

支持 string,number,object,boolean 四种数据类型值得写入和读取,在set时不需要手动转换成 string ,get后也会保持一致的类型值。

如你发现了优化点 欢迎指正,感谢阅读!

最近发表
标签列表