获取设置读取cookie

204 阅读1分钟
  //设置cookie
        function setCookie(key,val,expires){
            //判断值是否为对象,是的话转成字符串
            if (typeof val==="object")  val=JSON.stringify(val)
let now = new Date()
now.setMinutes(now.getMinutes()+expires)
//encodeURI进行编码
document.cookie = `${key}=${encodeURI(val)};expires=${now.toUTCString()}`
return document.cookie
}
setCookie("name","sylan",10)
setCookie("age",{age:10},10)
//删除cookie
function removeCookie(){
    this.setCookie(key,null,-1)
}
//获取cookie的值
function getCookie(key){
    let obj = {}
  console.log(document.cookie);
  document.cookie.split("; ").forEach(i=>{
   let kev =  i.split("=")
   //解码
   obj[kev[0]]=decodeURI(kev[1])
  })
  if (key) {
      let res = null
      //判断val是否是对象,是就返回 JSON.parse(obj[key]),不是就返回obj[key],最后返回res
 try{
     res = JSON.parse(obj[key])
 }catch(error){
     res = obj[key]
 }finally{
     return res
 }
}
 return obj
 
}
console.log(getCookie("name"))//sylan
console.log(getCookie("age"))//{age:10}