设置cookie
*需考虑可能存在的有效期
代码
function setCookie(key, val, exp) { //cookie名,cookie值,有效期
let time = '';
if (exp) {
var date = new Date(); //创建事件对象date
var d = date.getTime(); //令d为当前时间
date.setTime(d + exp * 60 * 1000); //设置有效期,单位毫秒
exp = date.toGMTString(); //转换格式
time = ";expires=" + exp;
}
document.cookie = key + "=" + val + time; //若没有设置有效期,time就是一个空字符
}
setCookie("名字", "李四");
setCookie("爱好", "看书", 5);
读取cookie
先读取所有cookies,再对结果进行分割和遍历查找
代码
function getCookie(key) {
var arr = document.cookie.split(";"); //获取所有的cookie,再获得cookie键值对组成的数组
var arrTarget = arr.filter(v => {return v.indexOf(key) == 1;}); //只显示含有key的那个键值对
var val = arrTarget[0].split("=")[1]; //获去一个数组[key,val],再获得这个数组中的val
console.log(val);
}
getCookie('名字'); //李四
``