localStorage和sessionStorage

一:localStorage:

  • 用途:用于长久保存整个网站的数据,保存的数据没有过期时间,直到手动去删除。
  • 语法:var storage = window.localStorage;
  • 存值:localStorage.setItem("key","value");
  • 取值:var saveValue = localStorage.getItem("key");
  • 删除指定键值:localStorage.removeItem("key");
  • 清除所有键值:localStorage.clear();
  • 注意:localStorage在浏览器窗口关闭后还保留数据,该数据对象没有过期时间,今天、下周、明年都能用,除非你手动去删除。

二:sessionStorage

  • 用途:用于临时保存同一窗口(或标签页)的数据,在关闭窗口或标签页之后将会删除这些数据 
  • 语法:var storage = window.seesionStorage;
  • 存值:sessionStorage.setItem("key","value");
  • 取值:var saveValue = seesionStorage.getItem("key");
  • 删除指定键值:sessionStorage.removeItem("key");
  • 删除所有键值:sessionStorage.clear();
  • 注意:sesseionStorage只会将数据保存在当前会话中,该数据对象临时保存同一窗口(或标签页)的数据,在关闭窗口或标签页之后将会删除这些数据

三:localStorage和sessionStorage的区别:

  • localStorage与 sessionStorage 的唯一区别就是生命周期不同: localStorage 属于永久性存储,而 sessionStorage 属于当会话结束的时候,sessionStorage 中的键值对会被清空。

四:localStorage 的优势(sessionStorage一样):

  •  localStorage 拓展了 cookie 的 4K 限制。
  •  localStorage 会可以将第一次请求的数据直接存储到本地,这个相当于一个 5M 大小的针对于前端页面的数据库,相比于 cookie 可以节约带宽,但是这个却是只有在高版本的浏览器中才支持的。

五:localStorage 的局限(sessionStorage一样):

  •  1、浏览器的大小不统一,并且在 IE8 以上的 IE 版本才支持 localStorage 这个属性。
  •  2、localStorage的值类型只支持string类型,这个在对我们日常比较常见的JSON对象类型需要一些转换。
  •  3、localStorage在浏览器的隐私模式下面是不可读取的。
  •  4、localStorage本质上是对字符串的读取,如果存储内容多的话会消耗内存空间,会导致页面变卡。
  •  5、localStorage不能被爬虫抓取到。

六:其他注意事项

  • 一般我们会将 JSON 存入 localStorage 中,但是在 localStorage 会自动将 localStorage 转换成为字符串形式。这个时候我们可以使用 JSON.stringify() 这个方法,来将 JSON 转换成为 JSON 字符串。
  • 读取之后要将 JSON 字符串转换成为 JSON 对象,使用 JSON.parse() 方法
 
原文地址:https://www.cnblogs.com/jiangxianshen/p/11937065.html