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
越努力,越幸运;阿门。