cookie封装 增删改查功能
时间: 2023-07-12 13:18:50 浏览: 104
Cookie的增删改查
好的,关于cookie的封装,可以实现增删改查功能,以下是一个简单的实现:
```javascript
// 封装cookie操作的工具函数
const cookieUtils = {
// 获取cookie值
get(key) {
const cookieStr = document.cookie;
const cookieArr = cookieStr.split('; ');
for (let i = 0; i < cookieArr.length; i++) {
const itemArr = cookieArr[i].split('=');
if (itemArr[0] === key) {
return itemArr[1];
}
}
return null;
},
// 设置cookie值
set(key, value, expires = 0, path = '/') {
const date = new Date();
date.setTime(date.getTime() + expires * 24 * 60 * 60 * 1000);
const expiresStr = expires === 0 ? '' : ';expires=' + date.toGMTString();
document.cookie = `${key}=${value};path=${path}${expiresStr}`;
},
// 删除cookie值
remove(key, path = '/') {
this.set(key, '', -1, path);
},
// 更新cookie值
update(key, value, expires = 0, path = '/') {
this.set(key, value, expires, path);
},
};
```
使用方法如下:
```javascript
// 设置cookie
cookieUtils.set('username', 'Tom', 7, '/');
// 获取cookie
const username = cookieUtils.get('username');
// 更新cookie
cookieUtils.update('username', 'Jerry', 7, '/');
// 删除cookie
cookieUtils.remove('username');
```
其中,`set`方法用于设置cookie值,第一个参数为cookie的名称,第二个参数为cookie的值,第三个参数为cookie的过期时间(单位为天),默认为0(表示在当前会话结束时过期),第四个参数为cookie的路径,默认为根路径。`get`方法用于获取cookie值,第一个参数为cookie的名称。`update`方法用于更新cookie值,其参数和`set`方法相同。`remove`方法用于删除cookie值,第一个参数为cookie的名称,第二个参数为cookie的路径,默认为根路径。
阅读全文