JS-cookie封装

简介: 智能社学习笔记 1 2 /*****设置cookie*****/ 3 function setCookie(name,value,iDay){ 4 var oDate = new Date(); 5 oDate.

智能社学习笔记

 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
目录
相关文章
|
5月前
sd.js 2.0封装:更加简化请求传参内容(逐步废弃、逐渐日落2024.01.02)
sd.js 2.0封装:更加简化请求传参内容(逐步废弃、逐渐日落2024.01.02)
|
5月前
uni-app 65egg.js聊天类chat.js封装(二)
uni-app 65egg.js聊天类chat.js封装(二)
46 1
|
5月前
|
JavaScript
JS封装节流函数
JS封装节流函数
53 0
|
9天前
|
前端开发 数据安全/隐私保护
crypto-js中AES的加解密封装
文章介绍了如何在前端使用crypto-js库进行AES加密和解密,提供了加解密的函数封装示例,并演示了如何加密和解密字符串或对象。
44 1
crypto-js中AES的加解密封装
|
24天前
|
设计模式 JavaScript
JS发布订阅模式封装(纯手工)
发布订阅模式是JS常用的设计模式,在面试中也会经常遇到,以下是我的手写实现方式,经测试效果不错,小伙伴们们可以直接拷贝使用。
|
3月前
|
JavaScript 前端开发 容器
vue组件封装——固定宽高比的容器(2种方法:纯CSS实现 + JS实现)
vue组件封装——固定宽高比的容器(2种方法:纯CSS实现 + JS实现)
109 2
|
3月前
|
JavaScript
js函数封装 —— 金额添加千分位分隔符
js函数封装 —— 金额添加千分位分隔符
37 2
|
4月前
|
自然语言处理 JavaScript 前端开发
JavaScript闭包是函数访问外部作用域变量的能力体现,它用于封装私有变量、持久化状态、避免全局污染和处理异步操作。
【6月更文挑战第25天】JavaScript闭包是函数访问外部作用域变量的能力体现,它用于封装私有变量、持久化状态、避免全局污染和处理异步操作。闭包基于作用域链和垃圾回收机制,允许函数记住其定义时的环境。例如,`createCounter`函数返回的内部函数能访问并更新`count`,每次调用`counter()`计数器递增,展示了闭包维持状态的特性。
46 5
|
3月前
|
JavaScript
js 高频实用函数封装汇总(持续更新)
js 高频实用函数封装汇总(持续更新)
29 0
|
3月前
|
JavaScript
js 数组移除指定元素【函数封装】(含对象数组移除指定元素)
js 数组移除指定元素【函数封装】(含对象数组移除指定元素)
36 0