![](https://img.kancloud.cn/98/f8/98f860bf67946e1789af84b228306b49_722x429.png)

## 设置cookie

```

function setCookie(name,value) {

var Days = 30;

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+"=([^;]*)(;|$)");

return (arr=document.cookie.match(reg))?unescape(arr[2]):null;

}

```

## 删除cookie(将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();

}

```

*****

*****

对浏览器来说,使用 Web Storage 存储键值对比存储 Cookie 方式更直观,而且容量更大

包含两种:localStorage 和 sessionStorage

sessionStorage(临时存储) :为每一个数据源维持一个存储区域,在浏览器打开期间存在,包括页面重新加载;

localStorage(长期存储) :与 sessionStorage 一样,但是浏览器关闭后,数据依然会一直存在;

sessionStorage 和 localStorage 的用法基本一致,引用类型的值要转换成JSON

## 1. 保存数据到本地

```

const info = {

name: 'Lee',

age: 20,

id: '001'

};

sessionStorage.setItem('key', JSON.stringify(info));

localStorage.setItem('key', JSON.stringify(info));

```

数据的保存可以封装一个方法, 同样的获取和删除我们都可以写个公共方法,方便后续的调用与操作

```

function set(name,value) {

sessionStorage.setItem(name,value);

}

```

## 2. 从本地存储获取数据 getItem() 方法

```

var data1 = JSON.parse(sessionStorage.getItem('key'));

var data2 = JSON.parse(localStorage.getItem('key'));

```

## 3. 本地存储中删除某个保存的数据

```

sessionStorage.removeItem('key');

localStorage.removeItem('key');

```

## 4. 删除所有保存的数据

```

sessionStorage.clear();

localStorage.clear();

```

## 5. 监听本地存储的变化

```

window.addEventListener('storage', function (e) {

console.log('key', e.key);

console.log('oldValue', e.oldValue);

console.log('newValue', e.newValue);

console.log('url', e.url);

})

```

## 6、浏览器查看方法

a、进入开发者工具

b、选择 Application

c、在左侧 Storage 下,查看 Local Storage 和 Session Storage

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐