sessionStorage 和 localStorage
sessionStorage用于本地存储一个会话(session)中的数据,这些数据只有在同一个会话中的页面才能访问并且当会话结束后数据也随之销毁。因此sessionStorage不是一种持久化的本地存储,仅仅是会话级别的存储。
而localStorage用于持久化的本地存储,除非主动删除数据,否则数据是永远不会过期的。
要判断浏览器是否支持localStorage可以使用下面的代码:
if (window.localStorage) {
alert("浏览支持localStorage")
} else {
alert("浏览暂不支持localStorage")
}
//或者
if (typeof window.localStorage == 'undefined') {
alert("浏览暂不支持localStorage")
}
localStorage和sessionStorage都具有相同的操作方法,例如setItem、getItem和removeItem等
setItem
用法:.setItem( key, value)
代码示例:
sessionStorage.setItem("key","value");
localStorage.setItem("site", "js8.in");
getItem
获取value用途:获取指定key本地存储的值
用法:.getItem(key)
代码示例:
var value = sessionStorage.getItem("key");
var site =localStorage.getItem("site");
removeItem
删除key用途:删除指定key本地存储的值
用法:.removeItem(key)
代码示例:
sessionStorage.removeItem("key");
localStorage.removeItem("site");
Clear
清除所有的key/value
用途:清除所有的key/value
用法:.clear()
代码示例:
sessionStorage.clear();
localStorage.clear();
IndexedDB
Web Storage使用简单字符串键值对在本地存储数据,方便灵活,但是对于大量结构化数据存储力不从心,IndexedDB是为了能够在客户端存储大量的结构化数据,并且使用索引高效检索的API。