cookie:
- 大小4k
- 声明周期:会话级别,一关闭浏览器就销毁了,可以设置过期时间
- cookie中的数据会携带在请求头中
作用:一般用于实现用户登录,进行会话保持,cookie里可以存储sessionId
sessionStorage(鸡肋,一般不会用)
- 5M大小
- 一旦关闭浏览器就销毁了
- 多个窗口不能共享
localStorage
- 大小5M(主流浏览器5M,IE 1M左右,不同浏览器不一样)
- 永久存储,只要用户不手动删除,一直存在
- 多个窗口可以共享
localStorage的API
设置:localStorage.setItem(key,value);
注意:localStorage只能存储字符串类型的数据
localStorage.setItem("name","yu")
获取:localStorage.getItem(key);
localStorage.getItem("name") // yu
删除单个:localStorage.removeItem(key);
localStorage.removeItem("name")
清空所有:localStorage.clear();慎用会删除所有
localStorage.clear()
localStorage 存储复杂数据类型
(1)存储:obj => jsonStr 将对象转换成有格式的json字符串
JSON.stringify(obj/arr); 将复杂数据类型转成json格式的字符串
localStorage.setItem(key, value); // 存储
(2)获取:jsonStr => obj
localStorage.getItem(key); // 获取
获取的是json字符串,需要转换成js中的数组或对象