封装localStorage

这是一个JavaScript类,它简化了localStorage的使用,自动处理JSON的序列化和反序列化。用户无需手动调用JSON.stringify()和JSON.parse(),可以直接存储和获取对象。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

         storage会根据传入的参数类型自动进行json转换,不用再自己手动写JSON.stringify()和JSON.parse(),需要的小伙伴直接复制到项目中就能使用

class Storage {
  constructor() {}

  /**
   * 获取
   * @param {String} key 
   * @returns 
   */
  getStorage(key) {
    if(!key) {
      console.error(new Error('function getStorage params is undefined'))
      return
    }

    const value = window.localStorage.getItem(key)
    try {
      const object = JSON.parse(value)
      return object
    } 
    catch (error) {
      return value
    }
  }

  /**
   * 设置
   * @param {String} key 
   * @param {any} value 
   * @returns {any}
   */
  setStorage(key, value) {
    if(!key && !value) {
      console.error(new Error('function setStorage params is undefined'))
      return
    }

    if(typeof value === 'object') {
      const jsonString = JSON.stringify(value)
      window.localStorage.setItem(key, jsonString)
    }
    else {
      window.localStorage.setItem(key, value)
    }
  }

  /**
   * 移除
   * @param {String} key 
   * @returns 
   */
  removeStorage(key) {
    if(!key) {
      console.error(new Error('function removeStorage params is undefined'))
      return
    }
    window.localStorage.removeItem(key)
  }

  /**
   * 清除
   */
  clearStorage() {
    window.localStorage.clear()
  }
}

const storage = new Storage()

export default storage
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值