最近因为项目上需要使用到客户端存储,所以稍微研究了一下,以下说说自己的理解和使用经验
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则能够实现该需求,但是仅限于同一域名下;
暂时就了解到这些,若有问题请留言,若有不正确或不准确的地方,请指正...