什么是LocalStorage
LocalStorage译为“本地存储器”,是HTML5中新增的一个存储对象,跟Cookie一样也是用来本地存储来的,但是解决了Cookie存储空间不足的问题(cookie每条存储空间为4k),而localStorage浏览器一般支持5M,通常以键/值对形式的字符串进行存储。
什么是SessionStorage
SessionStorage译为“会话存储”,也是HTML5新增的一个存储对象, 用于本地临时存储同一窗口的数据,在关闭窗口之后将会删除这些数据,SessionStorage浏览器一般支持5M,通常以键/值对形式的字符串进行存储。
LocalStorage与SessionStorage的区别
LocalStorage生命周期是永久,除非主动清除LocalStorage信息,否则这些信息将一直存放在客户端。而SessionStorage生命周期是临时,仅在当前会话窗口有效,关闭页面或浏览器数据就会自动被清除。
LocalStorage与SessionStorage的特点
1.不同浏览器之间无法共享LocalStorage或SessionStorage中的数据。
2.LocalStorage和SessionStorage可以使用统一的API接口。
3.LocalStorage或SessionStorage通常以键/值对形式的字符串进行存储,所以在存储时需要对数据格式进行转换,使用JSON.stringify方法将对象转换成字符串,提取时用JSON.parse方法将字符串转换成对象。
4.LocalStorage或SessionStorage是HTML5的新属性,所以需要较新的浏览器才支持。
localStorage和sessionStorage操作
localStorage和sessionStorage都具有相同的操作方法,例如setItem、getItem和removeItem等
localStorage和sessionStorage的方法
setItem存储value
用途:将value存储到key字段
用法:.setItem( key, value)
代码示例:
1 | sessionStorage.setItem("key", "value"); localStorage.setItem("site", "js8.in"); |
getItem获取value
用途:获取指定key本地存储的值
用法:.getItem(key)
代码示例:
1 | var value = sessionStorage.getItem("key"); var site = localStorage.getItem("site"); |
removeItem删除key
用途:删除指定key本地存储的值
用法:.removeItem(key)
代码示例:
1 | sessionStorage.removeItem("key"); |
clear清除所有的key/value
用途:清除所有的key/value
用法:.clear()
代码示例:
1 | sessionStorage.clear(); |
其他操作方法:点操作和[]
web Storage不但可以用自身的setItem,getItem等方便存取,也可以像普通对象一样用点(.)操作符,及[]的方式进行数据存储,像如下的代码:
1 | var storage = window.localStorage; |
localStorage和sessionStorage的key和length属性实现遍历
sessionStorage和localStorage提供的key()和length可以方便的实现存储的数据遍历,例如下面的代码:
1 | var storage = window.localStorage; |
setItem存储value
用途:将value存储到key字段
用法:.setItem( key, value)
代码示例:
1 | sessionStorage.setItem("key", "value"); |
getItem获取value
用途:获取指定key本地存储的值
用法:.getItem(key)
代码示例:
1 | var value = sessionStorage.getItem("key"); |
removeItem删除key
用途:删除指定key本地存储的值
用法:.removeItem(key)
代码示例:
1 | sessionStorage.removeItem("key"); |
clear清除所有的key/value
用途:清除所有的key/value
用法:.clear()
代码示例:
1 | sessionStorage.clear(); |
其他操作方法:点操作和[]
web Storage不但可以用自身的setItem,getItem等方便存取,也可以像普通对象一样用点(.)操作符,及[]的方式进行数据存储,像如下的代码:
1 | var storage = window.localStorage; |
localStorage和sessionStorage的key和length属性实现遍历
sessionStorage和localStorage提供的key()和length可以方便的实现存储的数据遍历,例如下面的代码:
1 | var storage = window.localStorage; |