localStorage和sessionStorage的四个常用方法封装

这篇文章介绍了一个名为StorageUtil的JavaScript库,它提供了操作localStorage和sessionStorage的方法,包括设置、获取、移除和清除数据,同时能处理不同数据类型的自动转换。

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

const StorageUtil = {
  // 存储localStorage,如果提供类型则存放在sessionStorage中
  set: (key, value, type, datetime) => {
    const obj = {
      dataType: typeof value,
      value: value,
      type: type,
      datatime: datetime || new Date().getTime(),
    };
    if (type) window.sessionStorage.setItem(key, JSON.stringify(obj));
    else window.localStorage.setItem(key, JSON.stringify(obj));
  },
  get: (key, defaultValue) => {
    let value;
    let obj = window.localStorage.getItem(key) || {};
    if (isEmpty(obj)) {
      obj = window.sessionStorage.getItem(key);
    }
    if (isEmpty(obj)) {
      return defaultValue;
    } //默认为undefined
    obj = JSON.parse(obj);
    switch (obj.dataType) {
      case "string":
        value = obj.value;
        break;
      case "number":
        value = Number(obj.value);
        break;
      case "boolean":
        value = Boolean(obj.value);
        break;
      case "object":
        value = obj.value;
        break;
    }
    return value;
  },

  remove: key => {
    window.sessionStorage.removeItem(key);
    window.localStorage.removeItem(key);
  },
  clear: () => {
    window.sessionStorage.clear();
    window.localStorage.clear();
  },
};
export default StorageUtil;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值