首页 > 代码库 > JS-cookie封装

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

JS-cookie封装