localStorage: 本地存储方案,localStorage有自身的优点:容量大、易用、强大、原生支持;缺点是兼容性差些(chrome, safari, firefox,IE 9,IE8都支持 localStorage,主要是IE8以下版本不支持)、安全性也差些(所以请勿使用localStorage保存敏感信息),生命周期是永久,这意味着除非用户显示在浏览器提供的UI上清除localStorage信息,否则这些信息将永远存在。存放数据大小为一般为5MB,而且它仅在客户端(即浏览器)中保存,不参与和服务器的通信。
EX:sessionStorage 和 localStorage 的用法基本一致,引用类型的值要转换成JSON
- localStorage.getItem(key); //获取指定key本地存储的值
- localStorage.setItem(key,value); //将value存储到key字段
- localStorage.removeItem(key); //删除指定key本地存储的值
- localStorage.clear();//清除所有本地存储值
- window.localStorage.key(i); //获取下标为i的key
- window.localStorage.length; //获取长度
sessionStorage:仅在当前会话下有效,关闭页面或浏览器后被清除。存放数据大小为一般为5MB,而且它仅在客户端(即浏览器)中保存,不参与和服务器的通信。源生接口可以接受,亦可再次封装来对Object和Array有更好的支持。
EX: 接口同localStorage
作用域不同
不同浏览器无法共享localStorage或sessionStorage中的信息。相同浏览器的不同页面间可以共享相同的 localStorage(页面属于相同域名和端口),但是不同页面或标签页间无法共享sessionStorage的信息。这里需要注意的是,页面及标 签页仅指顶级窗口,如果一个标签页包含多个iframe标签且他们属于同源页面,那么他们之间是可以共享sessionStorage的。
开发者工具中Application 可以查看浏览器localStorage或sessionStorage中的信息
来源:https://blog.csdn.net/xiaolinlife/article/details/69950951
https://segmentfault.com/a/1190000012057010