JS 基础篇(十) cookie封装

news/2024/5/18 13:43:01 标签: web, javascript, 前端, cookie
webkit-tap-highlight-color: rgba(0, 0, 0, 0);">

cookie_0">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__26">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)
    }

http://www.niftyadmin.cn/n/1852501.html

相关文章

layui + thymeleaf 动态拼接地址

1.第一种方式 {url}进行占位&#xff0c;在后面的()里写入占位的值 ${url}是controller里面传过来的值<img th:src"{{url}{{d.userImg}}(url${url})}" alt"加载失败"/>2.第二种方式 {{d.userImg}} 是layui的获取全局变量里的值&#xff0c;用单引号…

《末代皇帝》原声音乐《where is armo?》

[hjp3]hjptypesong&player6&sw1http://www.justrun.net/misc/whereisarmo.mp3&autoplayfalse&width380&height90[/hjp3] 转载于:https://www.cnblogs.com/JemBai/archive/2008/07/18/1245877.html

JS 面试题(一)

输出的值(关于this) var name the windowvar object {name:the object,getName:function(){return function(){return this.name}}}console.log(object.getName()());// 思考如何输出the object写出输出 function fn(){for (var i 0; i < 10; i) {console.log(i);}alert(…

19.纯 CSS 创作一种有削铁如泥感觉的菜单导航特效

19.纯 CSS 创作一种有削铁如泥感觉的菜单导航特效 原文地址&#xff1a;https://segmentfault.com/a/1190000014836748 感想&#xff1a; 把原元素隐藏&#xff0c;利用伪元素::before 和 ::after 各取上下一半 clip-path 切割图片 HTML代码&#xff1a; <ul class"men…

linux make使用技巧

测试make目标 mysql(1)time -p make real 322.77user 291.73sys 33.87(2)time -p make -j 5real 121.58user 308.23sys 53.24加了选项 -j 后快了一半(3)再换个值time -p make -j 8real 122.19user 306.27sys 58.24改大了效果也不明显

JS BOM篇(一)window对象

Window对象 BOM的核心对象是window对象&#xff0c;它表示浏览器的一个实例。即是JavaScript访问浏览器窗口的一个接口&#xff0c;又是ECMAScript规定的Global对象。 其主要有 ducoment&#xff0c;location&#xff0c;history&#xff0c;navigator等对象以及方法 全局作用…

pow()

pow() 如果接收两个参数&#xff0c;如 pow(x, y)&#xff0c;则结果相当于 x**y&#xff0c;也就是 x 的 y 次方pow() 如果接收三个参数&#xff0c;如 pow(x, y, z)&#xff0c;则结果相当于 (x**y) % z&#xff0c;也就是 x 的 y 次方再对 z 进行取余 In [7]: pow(2, 4) …

c#中值类型和引用类型

在C#中有两种类型的数据&#xff0c;一种是值类型数据&#xff0c;一种是引用类型数据。在编码的时候区分这两种类型数据&#xff0c;可以避免一些细小的编码错误。首先说说什么类型是值类型&#xff0c;例如&#xff1a;int、float、bool之类的基础类型&#xff0c;以及用stru…