1.localStorage(5m大小 IE8以上支持)
注意:localStorage存储的是string类型 存储时要注意类型转换
( 存时用JSON.stringify()转json字符串,取时JSON.parse()还原)
(对象类型数据,如果不进行处理直接存入localStorage中时,localStorage会自动进行数据类型转换,对象就会被转换成[object Object])
增 window.localStorage.setItem(key,value) 删 window.localStorage.clear();清除所有 window.localStorage.removeItem(key);(删除key所对应的一条) 改 window.localStorage[key]=value window.localStorage.key = value 查 let value = window.localStorage.getItem(key); let value = window.localStorage[key]; let value = window.localStorage.key;
localStorage的局限
1、浏览器的大小不统一,并且在IE8以上的IE版本才支持localStorage这个属性
2、目前所有的浏览器中都会把localStorage的值类型限定为string类型,这个在对我们日常比较常见的JSON对象类型需要一些转换
3、localStorage在浏览器的隐私模式下面是不可读取的
4、localStorage本质上是对字符串的读取,如果存储内容多的话会消耗内存空间,会导致页面变卡
5、localStorage不能被爬虫抓取到
localStorage与sessionStorage的唯一一点区别就是localStorage属于永久性存储,而sessionStorage属于当会话结束的时候,sessionStorage中的键值对会被清空
这里我们以localStorage来分析
2.cookie(4K大小 无兼容问题)
注意:
在cookie 的名或值 中 不能使用分号(;)、逗号(,)、等号(=)以及空格这是cookie的赋值规则
增 会话级(关闭浏览器就没了) document.cookie='name=value' 指定有效期 document.cookie = "name=value;expires=" + “日期”; 指定路径 document.cookie = "name=value;path=/;expires="+“日期”; 删 document.cookie = "name=value;expires=" + “日期为负”; 改 重复设置就是改 查 var str = document.cookie;
3.sessionStorage同localStorage一样