多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
![](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