【简介】 JavaScript中的另一个机制:cookie,则可以达到真正全局变量的要求。 cookie是浏览器 提供的一种机制,它将document 对象的cookie属性提供给JavaScript。浏览器只提供了doucment.cookie属性,如果需要操作,我们需要手动封装操作方法。 但是由于设置cookie的值时只能设置字符串,所以对取值和存值都不方便。下面封装一组cookie增,删,改,查的代码段 【设置cookie值】 添加cookie 值为中文需要转码,重复名称会覆盖 [JavaScript] 纯文本查看 复制代码 function setCookie(name, val, day) {
let expireDate = new Date();
expireDate.setDate(expireDate.getDate() + day);
document.cookie = `${name}=${val};expires=${expireDate.toGMTString()}`;
} 使用: setCookie(“name”,”哈哈”,1000) 通常我们只需要名称、值和生命期,更多的属性设置修改按照prop=val;的形式修改最后一条代码即可 【读取cookie值】 读取cookie 返回一个包含cookie键值对的数组 [JavaScript] 纯文本查看 复制代码 function getCookies() {
let cookies = [];
if(document.cookie) {
let cookieArr = document.cookie.split(';');
for (let i = 0;i<cookieArr.length;i++) {
let keyArr = cookieArr[i].split("=");
let name = keyArr[0];
let val = keyArr[1];
cookies.push({name: val});
}
} else {
return false;
}
return cookies;
} 使用: 因为前面进行了设置,所以: console.log(getCookies()[0].name) // 哈哈 【删除cookie】 删除cookie 把失效日期设置为过期 [JavaScript] 纯文本查看 复制代码 function removeCookie(name) {
let cookies = getCookies();
if (cookies) {
for(let cookie of cookies) {
if(cookie.name === name) {
setCookie(name, null, -99);
break;
}
}
} else {
return false;
}
}
|