原生操作cookie方法

1.設置cookie
function setCookie(name,value) {
    var Days = 30;
    var exp = new Date();//獲取當前時間
    exp.setTime(exp.getTime() + Days*24*60*60*1000);  //將date設置為n天以后的時間
    document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();//格式化時間并設置cookie
 }
2.讀取cookie
function getCookie(name) {
    var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");//匹配cookie的key和value
    if(arr=document.cookie.match(reg))
        return unescape(arr[2]);//拿到value
    else
        return null;
}
3.刪除cookie
function delCookie(name) {
    var exp = new Date();
    exp.setTime(exp.getTime() - 1);////將date設置為過去的時間
    var cval=getCookie(name);
    if(cval!=null)
        document.cookie= name + "="+cval+";expires="+exp.toGMTString();//設置過期cookie
}

思考:定義一個新的cookie,然后document.cookie = cookie; 這樣難道不會覆蓋之前的值嗎?

原因:設置cookie時可以直接給document.cookie賦值,而且后面的值不會覆蓋前面的值,它具有一種累加機制。cookie的值可以由document.cookie直接獲得,但這樣獲取的是所有的cookie的值;要通過一指定的cookie名稱來獲得所對應的值,則需要做一些處理。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,981評論 19 139
  • 《裕語言》速成開發手冊3.0 官方用戶交流:iApp開發交流(1) 239547050iApp開發交流(2) 10...
    葉染柒丶閱讀 27,859評論 5 19
  • 《ijs》速成開發手冊3.0 官方用戶交流:iApp開發交流(1) 239547050iApp開發交流(2) 10...
    葉染柒丶閱讀 5,342評論 0 7
  • 今天,重慶拆書幫的秋林小伙伴給我們分享了一個大大的干貨:“如何制定一個可落地的習慣養成計劃”。 聽完之后,我們小組...
    佐江閱讀 1,735評論 9 5
  • 重陽思母 --丁酉重陽節詩社分韻拈得到字以賦 籬前有菊開,驚覺重陽到。 無意踏高坡,翻櫥尋舊帽。 秋深雁影稀,親遠...
    長白清蓮閱讀 328評論 0 0