四HTML5Web储存
HTML5提供了两种在客户端储存数据的方法,分别是localStorage和sessionStorage。
locaStorage
没有时间限制的的数据存储
<script type="text/javascript"> if (如上面的代码,存储访问次数,访问的次数会一直保存下来,哪怕你关浏览器,关电脑,等你再次打开数据已然存在,就算是第二天,第二周或是一年以后,数据也依旧存在,除非你手动清除数据。localStorage.pagecount
) { localStorage.pagecount=Number(localStorage.pagecount
) +1; } else {localStorage.pagecount
=1; } document.write("Visits "+localStorage.pagecount
+ " time(s)."); </script>
sessionStorage
<script type="text/javascript"> if (sessionStorage方法针对一个session进行数据存储。当用户关闭流浪器窗口后,数据会被删除。sessionStorage.pagecount
) { sessionStorage.pagecount=Number(sessionStorage.pagecount
) +1; } else {sessionStorage.pagecount
=1; } document.write("Visits "+sessionStorage.pagecount
+" time(s) this session."); </script>
localStorage和sessionStorage操作
localStorage和sessionStorage都具有相同的操作方法,例如setItem、getItem和removeItem等
localStorage和sessionStorage的方法
setItem存储value
用途:将value存储到key字段
用法:.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();
其他操作方法:点操作和[]
web Storage不但可以用自身的setItem,getItem等方便存取,也可以像普通对象一样用点(.)操作符,及[]的方式进行数据存储,像如下的代码:
var storage = window.localStorage; storage.key1 = "hello"; storage["key2"] = "world"; console.log(storage.key1); console.log(storage["key2"]);
localStorage和sessionStorage的key和length属性实现遍历
sessionStorage和localStorage提供的key()和length可以方便的实现存储的数据遍历,例如下面的代码:
var storage = window.localStorage; for (var i=0, len = storage.length; i < len; i++){ var key = storage.key(i); var value = storage.getItem(key); console.log(key + "=" + value); }
与cookie相比,web storage能更大容量储存数据,Cookie的大小是受限的,并且每一次请求页面的时候Cookie都会被发送过去,而且cookie还需要规定作用域,不可以跨域调用,但cookie也是不克或缺的,cookie的作用是也服务器互交,web storage仅仅是为的本地储存数据而生的。
![大笑](http://static.blog.csdn.net/xheditor/xheditor_emot/default/laugh.gif)