读写cookie 封装
时间: 2023-09-27 20:10:48 浏览: 52
当涉及到读写 Cookie 时,可以使用以下方法进行封装:
1. 设置 Cookie:使用`document.cookie`属性来设置 Cookie。通过传递参数来设置 Cookie 的名称、值以及其他可选的属性(例如过期时间、路径等)。封装一个函数如下:
```javascript
function setCookie(name, value, days, path) {
let expires = "";
if (days) {
let date = new Date();
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
expires = "; expires=" + date.toUTCString();
}
document.cookie = name + "=" + (value || "") + expires + "; path=" + (path || "/");
}
```
使用示例:
```javascript
setCookie("username", "John Doe", 7); // 设置一个名为 "username" 的 Cookie,有效期为7天
```
2. 获取 Cookie:使用`document.cookie`属性来获取所有的 Cookie,然后解析出指定名称的 Cookie 值。封装一个函数如下:
```javascript
function getCookie(name) {
let cookieArr = document.cookie.split("; ");
for (let i = 0; i < cookieArr.length; i++) {
let cookiePair = cookieArr[i].split("=");
if (name === cookiePair[0]) {
return decodeURIComponent(cookiePair[1]);
}
}
return null;
}
```
使用示例:
```javascript
let username = getCookie("username"); // 获取名为 "username" 的 Cookie 值
```
3. 删除 Cookie:通过设置 Cookie 的过期时间为过去的时间来删除 Cookie。封装一个函数如下:
```javascript
function deleteCookie(name) {
document.cookie = name + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;";
}
```
使用示例:
```javascript
deleteCookie("username"); // 删除名为 "username" 的 Cookie
```
这样,你可以封装这些函数,以便在需要的时候方便地操作 Cookie。