sessionStorage 和 sessionStorage 是 HTML5 新增的兩個特性,這兩個特性主要是用來做爲會話存儲和本地存儲來使用的,解決了 cookie 存儲空間不足的問題;chrome
sessionStorage 屬性容許你訪問一個 session Storage 對象,用於存儲當前會話的數據,存儲在 sessionStorage 裏面的數據在頁面會話結束時會被清除。頁面會話在瀏覽器打開期間一直保持,而且從新加載或恢復頁面仍會保持原來的頁面會話。json
localStorage 屬性容許你訪問一個 Document 源(origin)的對象 Storage 用於存儲當前源的數據,除非用戶人爲清除(調用 localStorage api 或則清除瀏覽器數據), 不然存儲在 localStorage 的數據將被長期保留。api
localStorage 存儲的數據是永久性的,除非用戶人爲刪除不然會一直存在(調用 localStorage api 或則清除瀏覽器數據)。跨域
sessionStorage 存儲的數據在當前會話結束時會被清除,一旦窗口或者標籤頁被關閉,那麼全部經過 sessionStorage 存儲的數據也會被刪除。瀏覽器
localStorage: 在同一個瀏覽器內,同源文檔之間共享 localStorage 數據,能夠互相讀取、覆蓋、清除(同瀏覽器限制、同源限制)服務器
sessionStorage: 與 localStorage 同樣須要同一瀏覽器同源文檔這一條件。除此以外 sessionStorage 的做用域還被限定在了窗口中,也就是說,只有同一瀏覽器、同一窗口的同源文檔才能共享數據(同瀏覽器限制、同源限制、同標籤頁限制)cookie
sessionStorage localStorage 在操做上沒什麼區別,下面以 sessionStorage 爲例:session
sessionStorage.setItem('name', 'qianyin');
sessionStorage.setItem('name', 'linheng');
sessionStorage.setItem('user1', {name: 'qianyin'});
sessionStorage.setItem('user2', JSON.stringify({name: 'qianyin'}));
複製代碼
sessionStorage.name = 'qianyin';
sessionStorage.name = 'linheng';
sessionStorage.user1 = {name: 'qianyin'};
sessionStorage.user2 = JSON.stringify({name: 'qianyin'})
複製代碼
sessionStorage.getItem('user')
複製代碼
sessionStorage.user
複製代碼
// 經過 getItem('legnth') 返回的結果爲 null, 只能經過對象形式獲取 length 值
sessionStorage.length
複製代碼
sessionStorage.removeItem('user');
複製代碼
delete sessionStorage.user
複製代碼
sessionStorage.clear();
複製代碼