JS-cookie封装

智能社学习笔记

 1        <script type="text/javascript">
 2         /*****设置cookie*****/
 3         function setCookie(name,value,iDay){
 4             var oDate = new Date();
 5             oDate.setDate(oDate.getDate()+iDay);
 6             document.cookie = name+'='+value+';expires='+oDate;
 7         }
 8         /*****获取cookie*****/
 9         function getCookie(name){
10             var arr = document.cookie.split("; ");
11             for(var i=0;i<arr.length;i++){
12                 var arr2 = arr[i].split("=");
13                 if(arr2[0]==name){
14                     return arr2[1]
15                 }
16             }
17             return ""
18         }
19         /*****移除cookie*****/
20         function removeCookie(name){
21             setCookie(name,1,-1);
22         };
23         /*****测试cookie*****/
24         setCookie('123','321',1)
25         setCookie('124','421',1)
26         removeCookie('123');
27         var m = getCookie('124');
28         alert(m);
29         document.write("<hr/>"+document.cookie);
30         </script>    

解析:

setCookie()中:

  • 参数1:名称;参数2:内容;参数3:有效期。
  • var oDate = new Date();//获得日期毫秒数
  • oDate.setDate(oDate.getDate()+iDay);//设置延期日
  • document.cookie = name+'='+value+';expires='+oDate;//到这里的oDate是延期后的时间毫秒数
  • setCookie('xxx','www',3)//调用传参,前俩参数记得加‘单引号’

getCookie()中:

  • getCookie:传一个参数,就是要查找记录的name值,讲现有的cookie字符串进行切割扔个arr,此时的arr就是{name=1,name2=2,name3=3...}的一个object,就像一个json,此时,再遍历,将arr的每一个元素分别提取出来然后通过等号切割,扔个arr2,这样,arr2就成了俩值得数组,遍历一遍,就被扔进来一对,把扔进来的这对进行判断,如果他的名字等于传进来的要查找的参数值,那么arr2内部的第2个数值就是要找的名字对应值,把他弹出来。否则,遍历完了还没有,就弹回空或者其他的“没找到”等提示语。

removeCookie()中:

  • 有效期时间设置为-1,让计算机以为这条数据是昨天过期,自己删除本条数据。
  • ?这里第二个参数为什么是1

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python - 基础知识

    在代码世界中,赋值符号=(一个等号)不是左边等于右边的意思。仅仅表示赋值动作:把右边的内容放到了左边的盒子中。

    xing.org1^
  • css - Grid网格布局

    xing.org1^
  • CSS3-box-flex弹性盒布局

    xing.org1^
  • Spring&Mybaits数据库配置解惑

    一般我们会在datasource.xml中进行如下配置,但是其中每个配置项原理和用途是什么,并不是那么清楚,如果不清楚的话,在使用时候就很有可能会遇到坑,所以下...

    加多
  • 思维导图编写测试用例的两种格式

    2014 年之前,我们组一直使用 Excel 编写测试用例,从 2011 年开始的 3 年时间里,积累的 Excel 文件大小将近 3M,体积变大导致文件打开速...

    sylan215
  • Python 开发环境管理

    虚拟环境主要合适 virtualenv 和 virtualenvwrapper 来管理,在 Windows 系统上,则使用的是 virtualenvwrappe...

    zucchiniy
  • UML图——用例图

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/huyuyang6688/article/...

    DannyHoo
  • 用例图示例:包含和扩展用例

    用例提供了系统的高级视图。用例建模是与用户和其他利益相关者就系统和目标进行沟通的有效方式。用例描述了系统执行的动作序列,其为特定的actor产生可观察的值结果。...

    Warren2Lynch
  • 用例图教程(示例指南)

    用例是系统分析中用于识别,澄清和组织系统需求的方法。用例由特定环境中系统和用户之间的一组可能的交互序列组成,并且与特定目标相关。它由一组元素(例如,类和接口)组...

    Warren2Lynch
  • 深度解析用例设计方法

    许多测试类书籍中都有大幅的篇章介绍用例的设计方法,如等价类划分,边界值,错误推断,因果图等。 ? 但实际应用中这些理论却不能给我们很明确的行为指导,尤其是业务复...

    企鹅号小编

扫码关注云+社区

领取腾讯云代金券