class CookieUtil{
//获取 cookie 成员方法
static get(name){
let cookieName=`${encodeURIComponent(name)}=`,
cookieStart=document.cookie.indexOf(cookieName),
cookieValue=null;
if(cookieStart>-1){
let cookieEnd=document.cookie.indexOf(";",cookieStart);
if(cookieEnd==-1){
cookieEnd=document.cookie.length;
}
cookieValue=decodeURIComponent(document.cookie.substring(cookieStart+cookieName.length,cookieEnd));
}
return cookieValue;
}
//设置cookie 的静态成员方法
static set(name,value,expires,path,domain,secure){
let cookieText=`${encodeURIComponent(name)}=${encodeURIComponent(value)}`
if(expires instanceof Date){
cookieText+=`; expires=${expires.toGMTString()}`;
}
if(path){
cookieText+=`; path=${path}`;
}
if(domain){
cookieText+=`; domain=${domain}`;
}
if(secure){
cookieText+="; secure";
}
document.cookie=cookieText;
}
//删除 cookie 的方法
static unset(name,path,domain,secure){
CookieUtil.set(name,"",new Date(0),path,domain,secure);
}
}
//设置cookie
CookieUtil.set("name","Nicholas");
CookieUtil.set("book","Professional JavaScript");
//读取cookie
alert(CookieUtil.get("name"));
alert(CookieUtil.get("book"));
//删除cookie
CookieUtil.unset("name");
CookieUtil.unset("book");
// 设置有路径、域和过期时间的 cookie
CookieUtil.set("name","Nicholas","/books/projs/","www.baidu.com",new Date("January 1, 2022"));
//删除刚设置的cookie
CookieUtil.unset("name","/books/projs/",null,null,null,true);