好程式設計師web前端培訓分享JavaScript學習筆記cookie
好程式設計師web前端培訓分享JavaScript學習筆記cookie, cookie 是一個以字串的形式儲存資料的位置
每一個 HTTP 請求都會在請求頭中攜帶 cookie 到服務端
每一個 HTTP 響應都會在響應頭中攜帶 cookie 到客戶端
也就是說,cookie 是不需要我們手動設定,就會自動在 客戶端 和 服務端之間遊走的資料
我們只是需要設定一下 cookie 的內容就可以
COOKIE 的儲存形式
cookie 是以字串的形式儲存,在字串中以 key=value 的形式出現
每一個 key=value 是一條資料
多個資料之間以 ; 分割
// cookie 的形態 'a=100; b=200; c=300;'
COOKIE 的特點
00001. 儲存大小有限制,一般是 4 KB 左右
00002. 數量有限制,一般是 50 條左右
00003. 有時效性,也就是有過期時間,一般是 會話級別 (也就是瀏覽器關閉就過期了)
00004. 有域名限制,也就是說誰設定的誰才能讀取
使用方式
· 讀取 cookie 的內容使用 document.cookie
const cookie = document .cookieconsole.log(cookie) // 就能得到當前 cookie 的值
· 設定 cookie 的內容使用 document.cookie
// 設定一個時效性為會話級別的 cookie document .cookie = 'a=100' // 設定一個有過期時間的 cookie document .cookie = 'b=200;expires=Thu, 18 Dec 2043 12:00:00 GMT";' // 上面這個 cookie 資料會在 2043 年 12 月 18 日 12 點以後過期,過期後會自動消失
· 刪除 cookie 的內容使用 document.cookie
// 因為 cookie 不能直接刪除// 所以我們只能把某一條 cookie 的過期時間設定成當前時間之前// 那麼瀏覽器就會自動刪除 cookie document .cookie = 'b=200;expires=Thu, 18 Dec 2018 12:00:00 GMT";'
COOKIE 操作封裝
· 因為 js 中沒有專門操作 COOKIE 增刪改查的方法
· 所以需要我們自己封裝一個方法
設定 cookie
/** * setCookie 用於設定 cookie * @param {STRING} key 要設定的 cookie 名稱 * @param {STRING} value 要設定的 cookie 內容 * @param {NUMBER} expires 過期時間 */ function setCookie (key, value, expires) {
const time = new Date ()
time.setTime(time.getTime() - 1000 * 60 * 60 * 24 * 8 + expires) // 用於設定過期時間
document .cookie = `${ key }=${ value };expires=${ time };` }
讀取 cookie
/** * getCookie 獲取 cookie 中的某一個屬性 * @param {STRING} key 你要查詢的 cookie 屬性 * @return {STRING} 你要查詢的那個 cookie 屬性的值 */ function getCookie(key) {
const cookieArr = document .cookie.split( ';' )
let value = ''
cookieArr.forEach(item => {
if (item.split( '=' )[ 0 ] === key) {
value = item.split( '=' )[ 1 ]
}
})
return value}
刪除 cookie
/** * delCookie 刪除 cookie 中的某一個屬性 * @param {STRING} name 你要刪除的某一個 cookie 屬性的名稱 */ function delCookie(name) {
setCookie(name, 1 , - 1 )}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69913864/viewspace-2690330/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 好程式設計師web前端培訓分享JavaScript學習筆記Promise程式設計師Web前端JavaScript筆記Promise
- 好程式設計師web前端培訓分享JavaScript學習筆記SASS程式設計師Web前端JavaScript筆記
- 好程式設計師web前端培訓分享JavaScript學習筆記之設計模式程式設計師Web前端JavaScript筆記設計模式
- 好程式設計師web前端培訓分享學習JavaScript程式設計師Web前端JavaScript
- 好程式設計師web前端培訓JavaScript學習筆記DOM程式設計師Web前端JavaScript筆記
- 好程式設計師web前端培訓JavaScript學習筆記--jQuery程式設計師Web前端JavaScript筆記jQuery
- 好程式設計師web前端培訓分享node學習筆記程式設計師Web前端筆記
- 好程式設計師web前端培訓分享JavaScript學習筆記分支結構程式設計師Web前端JavaScript筆記
- 好程式設計師web前端培訓分享JavaScript學習筆記之正則程式設計師Web前端JavaScript筆記
- 好程式設計師web前端培訓分享JavaScript學習筆記之陣列程式設計師Web前端JavaScript筆記陣列
- 好程式設計師web前端培訓分享JavaScript學習指南程式設計師Web前端JavaScript
- 好程式設計師web前端培訓分享HTMLCSS學習筆記BFC程式設計師Web前端HTMLCSS筆記
- 好程式設計師web前端培訓分享React學習筆記(三)程式設計師Web前端React筆記
- 好程式設計師web前端培訓分享React學習筆記(一)程式設計師Web前端React筆記
- 好程式設計師web前端培訓分享React學習筆記(二)程式設計師Web前端React筆記
- 好程式設計師web前端培訓分享JavaScript學習筆記函式進階程式設計師Web前端JavaScript筆記函式
- 好程式設計師web前端培訓分享JavaScript學習筆記之ES5程式設計師Web前端JavaScript筆記
- 好程式設計師web前端培訓分享JavaScript學習筆記閉包與繼承程式設計師Web前端JavaScript筆記繼承
- 好程式設計師web前端培訓分享JavaScript學習筆記ajax及ajax封裝程式設計師Web前端JavaScript筆記封裝
- 好程式設計師web前端培訓分享JavaScript學習筆記之迴圈結構程式設計師Web前端JavaScript筆記
- 好程式設計師web前端培訓分享JavaScript學習筆陣列的排序程式設計師Web前端JavaScript陣列排序
- 好程式設計師web前端培訓分享詳解JavaScript學習筆記建構函式程式設計師Web前端JavaScript筆記函式
- 好程式設計師web前端培訓學習筆記Vue學習筆記一程式設計師Web前端筆記Vue
- 好程式設計師web前端培訓學習筆記Vue學習筆記之二程式設計師Web前端筆記Vue
- 好程式設計師web前端培訓分享JavaScript框架J程式設計師Web前端JavaScript框架
- 好程式設計師web前端培訓分享node學習筆記系列之四十一程式設計師Web前端筆記
- 好程式設計師web前端培訓分享之HTMLCSS學習筆記css3-多列程式設計師Web前端HTMLCSS筆記S3
- 好程式設計師web前端培訓分享HTMLCSS學習筆記css3選擇器程式設計師Web前端HTMLCSS筆記S3
- 好程式設計師web前端培訓分享怎樣學好css?程式設計師Web前端CSS
- 好程式設計師web前端培訓分享Javascript中原型屬性程式設計師Web前端JavaScript原型
- 好程式設計師web前端培訓分享JavaScript基礎語法程式設計師Web前端JavaScript
- 好程式設計師web前端培訓分享JavaScript相關知識程式設計師Web前端JavaScript
- 好程式設計師web前端培訓分享九個JavaScript小技巧程式設計師Web前端JavaScript
- 好程式設計師web前端培訓分享之HTMLCSS學習筆記媒體查詢+ rem用法程式設計師Web前端HTMLCSS筆記REM
- 好程式設計師web前端分享Vue學習筆記(一)程式設計師Web前端Vue筆記
- 好程式設計師web前端培訓分享HTMLCSS學習之CSS基礎程式設計師Web前端HTMLCSS
- 好程式設計師web前端培訓分享CSS基礎知識學習程式設計師Web前端CSS
- 好程式設計師web前端教程分享JavaScript學習筆記之Event事件二程式設計師Web前端JavaScript筆記事件