localStorage(本地储存)
HTML API
localstorage 在浏览器的 API 有两个:localStorage 和sessionStorage,存在于 window 对象中:localStorage 对应 window.localStorage,sessionStorage 对应 window.sessionStorage。
localStorage 和 sessionStorage 的区别主要是在于其生存期。
localStorage
只要在相同的协议、相同的主机名、相同的端口下,就能读取/修改到同一份localStorage数据。sessionStorage
比localStorage
更严苛一点,除了协议、主机名、端口外,还要求在同一窗口(也就是浏览器的标签页)下。
起源
用来作为本地存储来使用的,解决了cookie存储空间不足的问题(cookie中每条cookie的存储空间为**4k**),localStorage中一般浏览器支持的是**5M**大小,这个在不同的浏览器中localStorage会有所不同。它只能存储字符串格式的数据,所以最好在每次存储时把数据转换成json格式,取出的时候再转换回来。
数据结构:
localstorage为标准的键值对(Key-Value,简称KV)数据类型,简单但也易扩展,只要以某种编码方式把想要存储进localstorage的对象给转化成字符串,就能轻松支持。举点例子:把对象转换成json字符串,就能让存储对象了;把图片转换成DataUrl(base64),就可以存储图片了。另外对于键值对数据类型来说,"键是唯一的"这个特性也是相当重要的,重复以同一个键来赋值的话,会覆盖上次的值。
特点:
- localstorage是无法跨域
- localstorage不支持设置过期时间的
主要方法:
setItem(“key”,“value”):存储名字为key的一个值value,如果key存在,就更新value
getItem(“key”):获取名称为key的值,如果key不存在则返回null
removeItem(“key”):删除名称为“key”的信息,这个key所对应的value也会全部被删除
clear():清空localStorage中所有信息(慎用)
key():键的索引
JSON:
JSON.stringify(); 将json格式的数据(JavaScript 对象)转换成JSON格式的字符串
JSON.parse(); //将JSON格式的字符串转换成JSON对象进行处理