cookie操作--增删改查

什么是Cookie?
Cookie是由W3C组织提出,最早由NetScape社区发展的一种机制。
Cookie是存储于访问者的计算机中的变量。每当同一台计算机通过浏览器请求某个页面时,就会发送这个cookie。
Cookie的作用就是用于解决"如何记录客户端的用户信息":
当用户访问web页面时,他的名字可以记录在Cookie中。
在用户下一次访问该页面时,可以在Cookie中读取用户访问记录。
注意:cookie 的改相当于,重新存储,key的值相同,value值不同,即可实现修改功能。
在这只做了基本封装
cookie中存储的都是字符串

// 设置cookie(可以实现修改)
		function setCookie(key,val,ops){
			// ops有可能为的值:
            // undefined
            // {}
            // {expires:3}
            // {path:"/"}
            // {expires:3,path:"/"}
        // 处理的是为undefined时
		   ops=ops||{};
		    // 处理有效期
		   let e="";
		if(ops.expires){
			var d=new Date();
			d.setDate(d.getDate()+ops.expires);
			e= ";expires=" +d;
		}
		// 处理路径
		// let p="";
		// if(ops.path){
		// 	p= ";path="+ops.path;
		// }
		let p=ops.path ? ";path=" +ops.path : "";
		document.cookie=`${key}=${val}${p}${e}`;
		}
		
        //获取cookie值
		function getCookie(key){
		// 1.获取所有cookie
		let strC=document.cookie;
		// 2.使用"; "分割所有cookie,单独拿到每一条
		let arrC = strC.split("; ");
	   // 3.遍历每一条cookie
		for(var i=0;i<arrC.length;i++){
		// 4.再次使用"="分割,分割成名字和值独立的状态
		// 5.判断数组的第一位的名字是否与传进来要获取的cookie的名字一致
		if(arrC[i].split("=")[0]===key){
		// 6.如果一致,返回数组的第二位,也就是对应的值
			return arrC[i].split("=")[1];
				}
			}
	   // 7.循环结束后,如果程序还在执行,说明没有找到一致的值,那就返回空字符
			return "";
		}
		
		// 删除cookie
		removeCookie("abc",{
			path:"/"
		});
		// 删除cookie
		function removeCookie(key,ops){
			// 1.保证ops是个对象
			ops=ops||{};
			// 2.ops是对象了,无论如何得有个expires的属性为-1
			ops.expires=-1;
			// 3.将处理好的ops,给setCookie
			setCookie(key,"suibianxie",ops);
		}
发布了22 篇原创文章 · 获赞 61 · 访问量 4018

猜你喜欢

转载自blog.csdn.net/zyfacd/article/details/104786620
今日推荐