封裝cookie方法--設(shè)置、讀取cookie

我自己寫(xiě)的方法:

var cookie = {
        setCookie:function (name,value,time) {
            document.cookie = name + "=" + value + ";expires=Thu, 18 Dec 2019 12:00:00 GMT";  //分號(hào)后面是設(shè)定cookie失效時(shí)間,如果是過(guò)去的時(shí)間,則cookie無(wú)效,也相當(dāng)于刪除
        },
        getCookie:function(name){
            var cookieStr = document.cookie.replace(/\s+/g,"");  //清楚空格
            var str = cookieStr.split(";");        //將cookie分割成數(shù)組
            console.log(typeof str);        //object
            for(var i = 0;i < str.length;i++){
                var newStr = str[i].split("=");
                if(newStr[0] == name){    
                    return newStr[1];
                }
            }
        }
    }
    cookie.setCookie("jian","tianwen");
    cookie.setCookie("name","劍圣");
    console.log(cookie.getCookie("name"))   //xiao
別人封裝的:
/*
        封裝的cookie方法,可以設(shè)置cookie內(nèi)容和時(shí)間
    */
    var cookie = {
        set:function(key,val,time){//設(shè)置cookie方法
            var date=new Date(); //獲取當(dāng)前時(shí)間
            var expiresDays=time;  //將date設(shè)置為n天以后的時(shí)間
            date.setTime(date.getTime()+expiresDays*24*3600*1000); //格式化為cookie識(shí)別的時(shí)間
            document.cookie=key + "=" + escape(val) +";expires="+date.toGMTString();  //設(shè)置cookie
        },
        get:function(key){//獲取cookie方法
            /*獲取cookie參數(shù)*/
            var getCookie = document.cookie.replace(/[ ]/g,"");  //獲取cookie,并且將獲得的cookie格式化,去掉空格字符
            var arrCookie = getCookie.split(";")  //將獲得的cookie以"分號(hào)"為標(biāo)識(shí) 將cookie保存到arrCookie的數(shù)組中
            var tips;  //聲明變量tips
            for(var i=0;i<arrCookie.length;i++){   //使用for循環(huán)查找cookie中的tips變量
                var arr=arrCookie[i].split("=");   //將單條cookie用"等號(hào)"為標(biāo)識(shí),將單條cookie保存為arr數(shù)組
                if(key==arr[0]){  //匹配變量名稱(chēng),其中arr[0]是指的cookie名稱(chēng),如果該條變量為tips則執(zhí)行判斷語(yǔ)句中的賦值操作
                    tips=arr[1];   //將cookie的值賦給變量tips
                    break;   //終止for循環(huán)遍歷
                }
            }
            return unescape(tips);
        }
    }
    cookie.set('key','value,中文也可以的',30)  //30天后失效
    console.log(cookie.get('key'));   // value,中文也可以的)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容