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() 方法
不积跬步,无以至千里;不积小流,无以成江海。ヾ(◍°∇°◍)ノ゙