HTML5 Web 存儲
cookie
特點:鍵值對的形式存儲數據
在本地瀏覽器上存儲數據
有效期:未來的時間“expires=今天以後的時間”
存儲數據的容量:<4kb
所有的http請求都帶回cookie信息。(聯想http get請求的可以傳送的數據容量,從某種意義上來說,用cookie不是那麼的安全)
(1)localStorage
2.1用法
2.1.1保存數據
localStorage.setltem(key,value)
setltem(key,value),有兩個參數,第一個參數存儲數據的鍵名,第二個參數存儲數據的值。
2.1.2獲取數據
localStorage.getltem(key)
getltem(k),只有一個參數,該參數是獲取數據的鍵名
2.1.3刪除指定鍵名的數據
localStorage.removeItem("key");
removeItem(k)根據指定鍵名刪除數據
2.1.4清除所有存儲在localStorage中的數據
localStorage.clear()
d獲取數據key中的值
localStorage.getltem(key)
注意點:key寫具體的時候要加“”
localStorage存儲數據沒有時間限制。
(2)sessionStorage
用法和local一樣,不同的是,sessionStorage存儲數據的有效期僅當前瀏覽器(或頁面)有效一旦關閉,之前的存儲內容就沒了
區別:
特性: |
cookie |
localStrage |
sessionStorage |
生命週期 |
根據設置的時間 |
除非被清除否則永遠存在 |
瀏覽器一關閉就沒了 |
存儲容量 |
小於4KB |
5MB |
5MB |
和服務器通訊(http) |
每次請求都會帶上cookie |
只保持在瀏覽器,和服務器麼有半毛錢關係 |
|
易用性 |
接口不大友好(參數需要自個拼接) |
接口還可以接受吧!對於object array等類型的數據存儲比較麻煩 |
5存儲對像
5.1JSON.parse();將字符串轉化成對象
5.2JSON.stringfy();將對象轉化爲字符串
5.3解決問題
(1)用localStorage、sessionStorage存數據
先將需要存儲的對象轉化成字符串 JSON.parse() Storage只能存儲字符串
var
information = new
Object();
information.user
= userName;
information.age
= age;
//將對象轉化成字符串
var str =
JSON.stringify(information);
localStorage.setItem("message",str);
(2)用localStorage、sessionStorage讀數據
將字符串轉化爲對象JSON.stringIfy()
localStorage.setItem("message",str);
//解析對像
var result =
JSON.parse(str);
storage只能存儲字符串,不能存儲對象或者數組,如果要存儲的話,需要經過轉化,可以通過JSON對象中的stringIfy()將對象轉化爲字符串,然後進行存儲。同樣的也可以通過JSON對象中的parse()將對象進行解析