Cookie 的使用
// 封装成对象 ES6写法
let cookie = {
setCookie: (key, value, exdays) => {
let day = new Date();
day.setTime(day.getTime() + (exdays*24*60*60*1000));
let expires = `expires=${day.toGMTString()}`;
document.cookie = `${key}=${value};${expires}`;
},
getCookie: (key) => {
let cookies = document.cookie.split(';');
for (let item of cookies) {
let itemTrim = item.trim();
if (itemTrim.indexOf(key) === 0)
return itemTrim.substring(key.length+1, itemTrim.length);
}
return '';
},
removeCookie: function (key) {
// 此若处使用箭头函数,this -> Window,详情参考ES6箭头函数
this.setCookie(key, '', -1000);
}
}
// 测试
console.log(document.cookie);
cookie.setCookie('name', 'zhuzongzhi', 1);
console.log(document.cookie);
cookie.getCookie('name');
console.log(document.cookie);
cookie.removeCookie('name');
console.log(document.cookie);
// 封装成类 动态原型方式
function Cookie() {
Cookie.prototype.setCookie = (key, value, exdays) => {
let day = new Date();
day.setTime(day.getTime() + (exdays*24*60*60*1000));
let expires = `expires=${day.toGMTString()}`;
document.cookie = `${key}=${value};${expires}`;
};
Cookie.prototype.getCookie = (key) => {
let cookies = document.cookie.split(';');
for (let item of cookies) {
let itemTrim = item.trim();
if (itemTrim.indexOf(key) === 0)
return itemTrim.substring(key.length+1, itemTrim.length);
}
return '';
};
Cookie.prototype.removeCookie = function (key) {
this.setCookie(key, '', -1000);
}
}
// 测试
let cookie = new Cookie();
cookie.setCookie('name', 'zhuzongzhi', 1);
console.log(document.cookie);
cookie.getCookie('name');
console.log(document.cookie);
cookie.removeCookie('name');
console.log(document.cookie);