前言
JavaScript是运行在客户端的脚本,Session是运行在服务器端的,而Cookie是运行在客户端的,所以可以用JS来设置Cookie,而不能操作Session。
先了解一下Cookie的结构,简单地说:cookie是以键值对的形式存储的,即key=value的格式,各个cookie之间一般是以“;”分隔。
清除浏览器缓存Cookie是会被清除的。
原始方式
简单粗暴的操作
存储Cookie
let username = 'Javan';
document.cookie = "name=" + username;
读取Cookie
var cookieAll = document.cookie;
console.log(cookieAll);
// 输出后加工处理得到name值
方法封装
存储Cookie
expires
是截止日期,到什么时间点,自动过期
function setCookie(name, value, days) {
var exp = new Date();
exp.setTime(exp.getTime() + days*24*60*60*1000);
document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
}
读取Cookie
function getCookie(name) {
var arr, reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");
if (arr = document.cookie.match(reg)) {
return unescape(arr[2]);
} else {
return null;
}
}
测试
// 设置key为user, 值为Javanx
setCookie('user', 'Javanx', 1);
console.log(getCookie('user'));
// print Javanx
删除Cookie
function delCookie(name) {
var exp = new Date();
exp.setTime(exp.getTime() - 1);
var cval=getCookie(name);
if (cval!=null) {
document.cookie= name + "=" + cval + ";expires=" + exp.toGMTString();
}
}
公告
以后每月5、15、25号更新原创文章,内容不限,喜欢小编的可以点击关注,也可在下方评论留言,你喜欢什么内容,小编根据大家喜欢的内容尝试更新
正文结束
Ctrl + Enter