zoukankan      html  css  js  c++  java
  • localStorage 缓存方法增强[code snippet]

    /* 
    Enhance localStorage -- Start --
    usage: cusLocalStorage.setItem('infos','name','jayce) ==> "infos":"{'name':'jayce'}"
    cusLocalStorage.getItem('infos','name') ==> "jayce"
    cusLocalStorage.removeItem('infos','name') ==> "'infos':'{}'"
    */
    
    !((localStorage) => {
      window.cusLocalStorage = {
        setItem: function (objkey, fieldkey, fieldval) {
          this.errorCatch(objkey, fieldkey, fieldval)
          let getObj = localStorage.getItem(objkey)
          if (getObj == null) {
            localStorage.setItem(
              objkey,
              JSON.stringify({
                [fieldkey]: fieldval,
              })
            )
          } else {
            let JsonObj = JSON.parse(getObj)
            JsonObj[fieldkey] = fieldval
            localStorage.setItem(objkey, JSON.stringify(JsonObj))
          }
        },
        getItem: function (objkey, fieldkey) {
          this.errorCatch(objkey, fieldkey)
          let getObj = localStorage.getItem(objkey)
          if (getObj != null) {
            return JSON.parse(getObj)[fieldkey]
          } else {
            return null
          }
        },
        removeItem: function (objkey, fieldkey) {
          this.errorCatch(objkey, fieldkey)
          let getObj = localStorage.getItem(objkey)
          if (getObj != null) {
            try {
              let jsonObj = JSON.parse(getObj)
              delete jsonObj[fieldkey]
              localStorage.setItem(objkey, JSON.stringify(jsonObj))
            } catch (e) {}
          }
        },
        errorCatch: function () {
          // prettier-ignore
          if (typeof arguments[0] != 'string' || typeof arguments[1] != 'string') {
        throw new Error('param1 AND param2, must be a string expected !')
      }
        },
      }
    })(localStorage)
    
    /* Enhance localStorage -- End -- */
    
  • 相关阅读:
    【FPGA】结构化层次化设计
    【FPGA】库、包和子程序 过程 函数
    【FPGA】8位奇偶校验 / 加(减)法器 VHDL程序
    【FPGA】顺序语句
    【FPGA】并行语句
    【FPGA】VHDL基础
    Luogu P3349 小星星
    Luogu P4284 概率充电器
    NOIP2018 | D2T2 & D2T3
    二项式反演 小记
  • 原文地址:https://www.cnblogs.com/jaycethanks/p/15722119.html
Copyright © 2011-2022 走看看