最近的業務處理上,要使用cookie緩存儲一下數據,公司的cookie還搞出點問題。而用戶的瀏覽器都是利用微信的內置,廣泛支持h5的本地存儲。因而利用了這個...javascript
現代瀏覽器廣泛開始支持H5本地存儲,localStorage、sessionStorage。能夠用來代替cookie的一部分存儲功能,他比cookie存儲量更大。比較實用。java
二者用法相似。localStorage存儲,若是不清除那麼一直存在;sessionStorage是在一個會話級別上存在,若是會話關閉,那麼就沒了。顧名思義吧。redis
他們存值都是以鍵值對形式存在,值也是存入字符串類型(若是是對象,就序列化之後再存入)。幾乎和memcached,redis這種同樣。很好理解。數組
如下簡單演示下增刪改查的用法: 瀏覽器
<script type="text/javascript"> if(window.sessionStorage){ alert('ok'); }else{ alert('fail'); } // 設置值 sessionStorage.setItem('key_a', 1); // 取值 var key_a = sessionStorage.getItem('key_a'); console.log(key_a); // 刪除 sessionStorage.removeItem('key_a'); console.log(sessionStorage.getItem('key_a'));// null sessionStorage.setItem('key_b', 1); sessionStorage.setItem('key_c', 2); // 清除全部鍵值 sessionStorage.clear(); console.log(sessionStorage.key_b); console.log(sessionStorage.key_c); console.log('=================='); // 設置值和取值也能夠使用.符號,相似於取對象屬性 // 設置值 sessionStorage.key_d = 12; // 取值 var key_d = sessionStorage.key_d; console.log(key_d); // 有個小區別,若是這個key沒有了。一個返回值undefined,一個是null console.log(sessionStorage.key_null);// undefined console.log(sessionStorage.getItem('key_null'));// null console.log('==========簡單演示一個存放對象的例子========'); var obj = { a : 12, b : [1,2,3,4,5], c : { x : 'a', y : ['bb', 12, 'cc', {a:1,b:2}], z : 1333 } }; sessionStorage.setItem('page', JSON.stringify(obj)); // 取值 var page = JSON.parse(sessionStorage.getItem('page')); console.log(page); // 遍歷下數組 for(var i=0;i< page.b.length;i++){ console.log(page.b[i]); } // 遍歷對象,一般用in for(var j in page.c){ console.log(page.c[j]) } // 刪除key sessionStorage.removeItem('page'); </script>