本地存儲: localstorage && sessionstoragehtml
1、html5
1.過時: localstorage: 用於持久化的本地存儲,除非主動刪除數據,不然數據是永遠不會過時的。ajax
sessionstorage : 關閉瀏覽器或者從新打開,都會過時的。算法
2.瀏覽器支持: ie8以上都支持。json
3.內存 canvas
key ---->value跨域
4. API setItem存儲 key和value localstorage.setItem(" key", "value")數組
getItem 獲取value localstorage.getItem( "key");瀏覽器
removeItem 刪除key localStorage.removeItem("key");cookie
clear清除全部的key/value localStorage.clear();
2、本地存儲均可以存些什麼東西呢?
1. 數組 --->序列化字符串的,再存儲到localstorage裏
2. json數據 --->序列化字符串的,再存儲到localstorage裏
3. 圖片 (base64, 能夠用canvas輸出)
4. 腳本 ---->經過ajax請求後把responseText文件存儲到localstorage裏
5. 樣式文件 ---->經過ajax請求後把responseText文件存儲到localstorage裏
3、localstorage使用限制:
一、localstorage是永不過時的,須要業務本身存儲更新策略,過時控制
二、各個子域名之間不能共享存儲數據(能夠藉助html5的postmessage作跨域處理),cookie能夠
三、超出存儲大小是能夠藉助LRU,FIFO算法淘汰舊的
四、server端要想取到,須要跟在post請求或者get請求後面,以達到訪問目的 (localstorage只支持客戶端)。
4、本地存儲注意事項:
1. 使用前要判斷瀏覽器是否支持 (瀏覽器開啓無痕模式後不能用, 有的可讀但不可寫,因此不能用 if(window.localStorage){}來作兼容處理 先set,而後再捕獲異常)
2. 寫數據的時候須要用異常處理,避免超出容量報錯
3. 敏感信息不要存
4. 注意key的惟一性, 會被覆蓋 (一個key對應一個value,一個key對應兩個value,後面的會覆蓋前面的)。