原生javascript对获取删除cookie方法的封装

原生javascript对获取删除cookie方法的封装

    //设置Cookie
    function setCookie(name, value, lostTime, path) {
      //首先判断用户传入参数的个数,至少传入2个参数
      if (arguments.length == 2) {
        document.cookie = `${name}=${value};`//直接设置
      } else if (arguments.length == 3) {
        let ifLp = typeof (arguments[2]);//需要判断用户输入的第三个参数类型
        if (ifLp == "number") {
          let exp = new Date();
          // 这里是以小时为单位,设置cookie的过期时间
          exp.setTime(exp.getTime() + lostTime * 60 * 60 * 1000);
          document.cookie = `${name}=${value};expires=${exp.toUTCString()}`;//设置自定义时间的Cookie
        } else {
          document.cookie = `${name}=${value};path=${arguments[2]}`// 设置自定义地址的path
        }
      } else {
        let exp = new Date();
        exp.setTime(exp.getTime() + lostTime * 60 * 60 * 1000);
        //设置全部自定义属性的Cookie
        console.log(exp.toLocaleString());
        document.cookie = `${name}=${value};expires=${exp.toUTCString()};path=${path}`
      }
    }

    
    //获取Cookie
    function getCookie(name) {
      let arr = document.cookie.split(";");
      for (let item of arr) {
        let arr2 = item.split("=");
        if (arr2[0] == name) {
          return arr2[1];
        }
      }
      return "";
    }
    //删除Cookie,意思是设置cookie的过期时间为立即过期
    function removeCookie(name, path) {
      if (path) {
        setCookie(name, 1, -1, path);
      } else {
        setCookie(name, 1, -1);
      }
    }
    // 测试
    console.log(new Date().toUTCString());
    // 设置cookie uid=123,过期时间为3小时,path为'/'
    setCookie("uid", 123, 3, '/')
    console.log(getCookie("uid"));
    removeCookie("uid")
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值