JS 基础篇(十) cookie封装

cookie简单介绍

  1. cookie的特点
    1.cookie一般有大小限制为4kb,
    2.限制同一域名数量为503.读取有域名限制
    4.时效性
    
  2. cookie 使用
    //添加cookie
    document.cookie = “key=value”; // 一次写入一个键值对
    //读取cookie 
    document.cookie //获得所有cookie  分号分割
    
    //expires  时效
    document.cookie = `${key}=${value};${expires}=${expires}`
    //path  路径 '/'
    document.cookie = `${key}=${value};expires=${expires};path=${path}`
    //domain  域名 'www.csdn.com'
    	document.cookie = `${key}=${value};expires=${expires};path=${path};domain=${domain}`
    

cookie 封装


    /**
     * @description:  设置cookie
     * @param {*} key cookie 的键
     * @param {*} value  cookie 值
     * @param {*} expires 时间/天
     * @param {*} path 域名下路径
     * @return {*}
     */
    function setCookie(key, value, expires, path, domain) {
      if (typeof expires === "number") {
        var date = new Date();
        date.setDate(date.getDate() + expires);
      }
      // 1.处理默认保存的路径
      var index = window.location.pathname.lastIndexOf("/");
      var currentPath = window.location.pathname.slice(0, index);
      path = path || currentPath;
      // 2.处理默认保存的domain
      domain = domain || document.domain;
      document.cookie =`${key}=${value};expires=${date};path=${path};domain=${domain}`
    }

    /**
     * @description: 获取cookie
     * @param {*} key  要获取的cookie的键
     * @return {*}
     */
    function getCookie(key){
      let cookieStr = document.cookie
      console.log(cookieStr);
      cookieArray = cookieStr.split(';')
      console.log(cookieArray);
      for (let i = 0; i < cookieArray.length; i++) {
          let temp = cookieArray[i].split('=')
          if(temp[0].trim() === key){
            return temp[1]
          }
      }
      
    }
     /**
     * @description: 删除cookie
     * @param {*} key 键
     * @param {*} path 路径
     * @return {*}
     */
    function removeCookie(key,path){
      setCookie(key,1,-1,path)
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值