熟悉cookie

设置cookie

1
document.cookie = "name=qiqi"

获取cookie

1
document.cookie // "name=qiqi"

设置过期时间

由于默认情况关闭浏览器后,cookie会自动清除,需要设置expires的值来延长cookie的时间

1
2
3
var date = new Date();
date.setDate(date.getDate()+7);
document.cookie = "expires="+date.toUTCString();

实战

可以看到cookie的形式是以分号分割的key=value的字符串,如果想从cookie中通过key来获得value,需要写一些代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
function getValueOfCookie(key, cookie) {
if(document.cookie){
var cookieArr = document.cookie.split(';');
cookieArr.forEach(function(elem, index){
cookieArr[index] = {
key: elem.split('=')[0],
value: elem.split('=')[1]
}
})
var filterObj = cookieArr.filter(function(elem){
return elem['key'] == key
});
return filterObj.length>0?filterObj[0].value:'';
}
}
document.cookie = "name=qiqi";
document.cookie = "nickname=supershy";
getValueOfCookie('name') //qiqi