localstorage 和 sessionstorage 本地存儲

   在咱們平常的工做和實際項目中,作好數據數據緩存能夠是咱們的程序執行效率更高,可使咱們避免重複請求 服務器,減輕服務器的壓力,能夠提升使用戶的體驗度.json

那麼 HTML5 存儲的目標是什麼?數組

 1.解決存儲 大小的問題瀏覽器

 2.解決請求頭帶存儲信息 的問題緩存

 3.解決關係存儲的問題安全

 4.跨瀏覽器服務器

在HTML5沒有出來以前,咱們的存儲一直大多都是使用cookies 存儲  可是cookies 有明顯的缺陷.cookie

 cookies的缺陷:session

 1.http請求頭上回帶着 會存在安全上的問題
 2.只能儲存4k大小的
 3.主DOM污染spa

可是在HTML5 以後,出現瞭解決緩存問題的API.localstorage

 一.localstorage 和 sessionstorage 本地存儲

  這種你們都比較熟悉 存儲形式: key->value

  sessionStorage用於本地存儲一個會話(session)中的數據,這些數據只有在同一個會話中的頁面才能訪問而且當會話結束後數      據也隨之銷燬 ,所以sessionStorage不是一種持久化的本地存儲,僅僅是會話級別的存儲。

    localStorage用於持久化的本地存儲,除非主動刪除數據,不然數據是永遠不會過時的。

 瀏覽器的支持除了IE7及如下不支持外,其餘標準瀏覽器都徹底支持

    判斷瀏覽器是否支持localstorage

      if (window.localStorage) {
      alert("瀏覽器支持localStorage");
     }else {
      alert("瀏覽器不支持localStorage");
     }

  過時時間: 永久存儲,永不失效,除非手動刪除
  大小:每一個域名 5M
  能夠存:數組 json 圖片 腳本 樣式文件
注意事項
  <1.使用前要判斷瀏覽器是否支持
  <2.寫數據時,須要異常處理,避免超出容量拋錯
  <3.避免把敏感的信息存入localstorage
  <4.key 的惟一性
 有四種方法 setItem,getItem,removeItem,clear

  //setItem存儲value  用法:.setItem( key, value)

  localStorage.setItem('key','value');

  localStorage.setItem('age','20'); // 存儲年齡 爲20

  //getItem獲取value   用法:.getItem(key)

  var  a =  localStorage.getItem('age');

  // removeItem()  刪除key值

  localStorage.setItem('name','coco');

  var c= localStorage.removeItem('name');

  console.log(c); // 打印出來是  undefined

  // clear() 清楚全部的key/value

  localStorage.clear();

  也能夠這樣寫,這兩種 方式的結果是同樣的

             localStorage.name = 'coco';
             localStorage['name'] = 'koko';

   // localStorage的key和length屬性實現遍歷    var storage = window.localStorage;   for (var i = 0; i < storage.length; i++) {   var key = storage.key[i];   var value = storage.getItem(key);   console.log(key+'='+value);   }

相關文章
相關標籤/搜索