# cookie,LocalStorage,sessionStorage
## 1.Cookie
Cookie 是小甜饼的意思。顾名思义,cookie 确实非常小,它的大小限制为[4KB](http://www.chengbenchao.top/javascript/854981)左右,是网景公司的前雇员 Lou Montulli 在1993年3月的发明。它的主要用途有[保存登录信息](http://www.chengbenchao.top/javascript/854981),比如你登录某个网站市场可以看到“记住密码”;
## 2.localStorage
localStorage 是 HTML5 标准中新加入的技术,特点:[除非被清除,否则永久保存](http://www.chengbenchao.top/javascript/854981)。一般大小在[5MB](http://www.chengbenchao.top/javascript/854981);
## 3.sessionStorage
sessionStorage 是HTML5新增的一个[会话存储对象](http://www.chengbenchao.top/javascript/854981),用于[临时保存](http://www.chengbenchao.top/javascript/854981)同一窗口(或标签页)的数据,刷新页面数据依旧存在,在[关闭窗口或标签页之后](http://www.chengbenchao.top/javascript/854981)将会删除这些数据
| 特性 | Cookie | localStorage | sessionStorage |
| --- | --- | --- | --- |
| 数据的生命期 | 一般由服务器生成,可设置失效时间。如果在浏览器端生成Cookie,默认是关闭浏览器后失效 | 除非被清除,否则永久保存 | 仅在当前会话下有效,关闭页面或浏览器后被清除 |
| 存放数据大小 | 4K左右 | 一般为5MB | |
| 与服务器端通信 | 每次都会携带在HTTP头中,如果使用cookie保存过多数据会带来性能问题 | 仅在客户端(即浏览器)中保存,不参与和服务器的通信 | |
| 易用性 | 需要程序员自己封装,源生的Cookie接口不友好 | 源生接口可以接受,亦可再次封装来对Object和Array有更好的支持 |
**localStorage**用于持久化的本地存储,除非主动删除数据,否则数据是永远不会过期的
**sessionStorage**不是一种持久化的本地存储,仅仅是会话级别的存储,页面关闭就清空;
使用
localStorage和sessionStorage都具有相同的操作方法,例如setItem、getItem和removeItem,clear;
~~~
/* 设置 */
sessionStorage.setItem("key", "session");
sessionStorage.setItem("a","hello")
localStorage.setItem("site", "local");
/* 获取 */
var key = sessionStorage.getItem("key");
var site = localStorage.getItem("site");
/* 移除 */
sessionStorage.removeItem("key");
localStorage.removeItem("site");
/* 清空 */
sessionStorage.clear();
localStorage.clear();
~~~
- 面试题
- 自我介绍
- 问答
- HTML
- 1.@import与link的区别
- CSS
- 1.display: none; 与visibiliy: hidden; 的区别
- 三角形
- margin-top
- 移动端适配问题
- JavaScript
- JavaScript原型和原型链
- 什么是promise
- call、apply、bind区别
- 用函数将字符串转化为驼峰命名
- 数组操作
- 1.筛选
- 2.排序
- 3.反转
- 4.去重
- 字符串方法
- 5.二叉树
- 6.克隆数组
- 重载
- (待完善)JavaScript事件
- dom事件流
- 四则运算符
- cookie,LocalStorage,sessionStorage
- 浅拷贝和深拷贝
- 对象
- 浏览器
- web性能优化
- 定时器
- 回调地狱
- 遍历的几种方式
- this指向
- HTTP
- 输入ur发生了什么
- ajax
- 跨域
- jquery跨域
- axios
- vue
- (待完善)缓存
- bootstarp
- es6
- 01解构赋值
- (未完成)class
