一.cookie的基本概念
cookie:cookie是一个可以在页面间共享传递数据的变量,cookie称为会话跟踪技术
会话(session):一个网页app从打开到完全关闭的过程,称为一次会话
cookie简单理解为就是一个变量
使用场景:
1.实现长生命周期的保存用户信息,实现免登陆(长生命周期)
2.cookie在会话期间可以在页面间共享传递数据,例如:我的订单,我的京东(会话级别生命周期)
注意事项:使用cookie必须得有服务器
二.cookie的语法
cookie是键值对构成的
写:
要点:
1.没有键的时候是增,有键的时候是改(赋值给cookie的键值对,如果键在已有的cookie中没有,就等同于新增一个键值对,如果键在已有的键值对中已经存在,效果就等同于为这个键值对改了一个value值)
2.每个键值对都得独立一行写
语法:document.cookie = "键=值"
document.cookie = "name=老王";
document.cookie = "pwd=123456";
读:读出来的是由分号+空格构成的字符串,正常使用需要对该字符串进行解析
console.log(document.cookie);------------------结果为字符串"name=老王; pwd=123456"
解析方式:
let strCookie = document.cookie;
let arrCookie = strCookie.split("; ");------------使用字符串split转数组即可
console.log(arrCookie);
for(let i=0; i<arrCookie.length; i++){
let item = arrCookie[i].split("=");
console.log(item[0],item[1]);
}
三.cookie的生命周期
1.不同的写法
1)会话级别 document.cookie = "key=value"
document.cookie = "name=xiaoming";
2)长生命周期 document.cookie = "键=值;expires=标准日期对象";
let date = new Date();
date.setDate(date.getDate()+7);
document.cookie = "pwd=123456;expires=" + date;
2.相同的读取方法
console.log(document.cookie);
四.cookie的删除
要点:
1. 删除只针对于长生命周期
2. cookie没有正面删除,只能侧面删除
3. 删除的本质就是重新赋值
步骤:
1. 将key对应的value设置为''"
2. 将expires设置为-1
set.delete()
map.delete("A");
删除只针对于长生命周期
cookie没有正面删除,只能侧面删除
1.将key对应的value设置为''
2.将expires设置为-1
let date = new Date();
date.setDate(date.getDate()+10);
document.cookie = "id=9527;expires="+date;
删除的本质就是重新赋值
document.cookie = "id='';expires=-1";