一.简介
localStorage会可以将第一次请求的数据直接存储到本地,这个相当于一个5M大小的针对于前端页面的数据库
——注意:在IE8以上的IE版本才支持localStorage这个属性。localStorage属于永久性存储,如果存储内容多的话会消耗内存空间,会导致页面变卡。
二.具体使用方式如下:
1.localStorage - 没有时间限制的数据存储
var arr=[1,2,3]; localStorage.setItem("temp",arr); //存入 参数: 1.调用的值 2.所要存入的数据 console.log(localStorage.getItem("temp"));//输出 2.清空localStorage localStorage.clear(); // 3.删除键值对 localStorage.removeItem("arr");
注意:存入的数据只能以字符串形式存入。
三.提供转JOSN数据方法:
//JSON对象转JSON字符串
var obj = {"a": 1,"b": 2}; obj = JSON.stringify(obj); //转化为JSON字符串 localStorage.setItem("temp2", obj);
//JSON字符串转JSON对象 obj=JSON.parse(localStorage.getItem("temp2"));
LocalStorage和SessionStorage的不同之处
1.调用方法相同
各自都包含以下几种操作:
//根据key获取对应的值;
window.sessionStorage.getItem(key);
window.localStorage.getItem(key);
//新增key-value,若key已存在,则更新value;
window.sessionStorage.setItem(key,value);
window.localStorage.setItem(key,value);
//根据key移除对应的值
window.sessionStorage.removeItem(key);
window.localStorage.removeItem(key);
//移除全部key-value
window.sessionStorage.clear();
window.localStorage.clear();
//根据索引获取对应key
window.sessionStorage.key(index);
window.localStorage.key(index);
2.生命周期不同
sessionStorage是人如其名,只针对当前session(会话)有效,关闭标签页即失效;
localStorage则不然,即使关闭了标签页甚至浏览器,依然存在,下次打开页面时,依然可以直接使用,
但是要注意,清除浏览器缓存时,localStorage的内容也会清理掉;
3.数据共享
sessionStorage由于上述特性,也就不能够在不同页面之间进行数据共享,同一域名也是不可以的;
localStorage则能够实现该需求,但是仅限于同一域名下;