什么是Cookie
cookie 是一个以字符串的形式存储数据的位置,也可以理解为存储数据的一个区域或者说是空间
Cookie特点
- 存储大小有限制,一般是4KB左右
- 数量有限制,一般是50条左右
- 有时效性,也就是有过期时间,一般是会话级别(也就是浏览器关闭就过期了)
- 有域名限制,也就是说谁设置的谁才能读取
储存形式
cookie是以字符串的形式存储,在字符串中以key=value 的形式出现,每一个key=value是一条数据,多个数据之间以;分割
// cookie 的形态
a=100; b=200; C=300;
使用方式
-
读取cookie的内容使用document.cookie
const cookie = document.cookie console.1og(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封装
/**
* 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 * 8 + expires) //用于设置过期时间
document.cookie =`${key}=${value };expires=${time};`
}
/**
*getCookie 获取cookie 中的某一个属性
*@param {STRING} key 你要查询的cookie 属性
*@return {STRING} 你要查询的那个cookie 属性的值
*/
function getCookie(key) {
const cookieArr = document.cookie.split(';') // a=100 ;b=200;c=300
//[a=100, b=200, c=300 ]
let value
cookieArr.forEach(item => { // item=> a=100
if (item.split('=')[0].trim() === key) {
value = item. split('=')
}
})
return value
}
/**
*delCookie 删除cookie 中的某一个属性
*@param {STRING} name 你要删除的某一个cookie 属性的名称
*/
function delCookie(name) {
setCookie(name, 1, -1)
}
注意:cookie使用的是世界标准时间,而我们使用的new Date()则是我们自己的时间,也就是中国所在时区的时间+8时区,我们需要减去这8个小时再设置cookie时间,才是我们正确设置的时间。
与http协议关系
每一个 HTTP 请求都会在请求头中携带 cookie 到服务端
每一个 HTTP 响应都会在响应头中携带 cookie 到客户端
即cookie 不需要手动设置,就会自动在客户端和服务端之间游走的数据,只需要设置 cookie 的内容就可以
async/await
- 作用:
实现异步编程, 让异步代码用同步的写法实现
=> 同步代码和异步代码
- 用法:
await 后面一定promise对象封装的异步任务
await代码是在async修饰的函数中
-
应用:
//表示当前函数是一个异步执行函数 async function getList() { try{ console.log('异步函数开始执行111') let res = await ajaxPromise({method:'get', url:'http://10.7.162.150:8089/api/shop/list}) console.log('异步函数获取到结果222', res ) } catch(err) { console.log(err) } } getList() console.log('主程序结束执行>>>>)
js-cookie工具函数
(引用自其他博主,若有不妥请联系删除,栓Q!)