localStorage學習總結

1、本地存儲javascript

  在HTML5誕生以前,網站若是想在瀏覽器端存儲數據,只能使用Cookie,使用Cookie有較多的限制。前端

  Cookie問題:java

   1.cookie大小限制在4K左右(各個瀏覽器不一致)瀏覽器

   2.cookie每次隨着HTTP請求都會一塊兒發送(形成不少不須要的cookie也會一塊兒發送)安全

  本地存儲:cookie

   1.localStorage大小限制在5M(各個瀏覽器不一致)session

   2.localStorage不會隨着HTTP請求一塊兒發送網站

   

2、會話級別的本地存儲-sessionStoragespa

  sessionStorage:用戶瀏覽某個網站時,從進入網站開始一直到關閉網站,這就是session對象的有效期。code

  sessionStorage提供了四種方法對本地存儲作相關操做。

  1. setItem( key, value );添加本地存儲數據

  2.getItem( key );經過key獲取相應的value值

  3.removeItem( key ); 經過key刪除相應的value值

  4.clear();清空本地全部(限本域名下)session數據

 1 <script type="text/javascript">
 2     //添加key-value 數據到 sessionStorage
 3     sessionStorage.setItem("name", "憐白");
 4     sessionStorage.setItem("job", "前端");
 5 
 6     //經過key來獲取value
 7     var name = sessionStorage.getItem("name");
 8 
 9     console.log(name); // 憐白
10     console.log(sessionStorage.length); // 2
11 
12     // 經過key刪除value
13     sessionStorage.removeItem("job");
14 
15     console.log(sessionStorage.length); // 1
16 
17     //清空全部的key-value數據。
18     sessionStorage.clear();
19 
20     console.log(sessionStorage.length); // 0
21 </script>

 

3、永久本地存儲-localStorage

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

  localStorage提供了四種方法對本地存儲作相關操做。

  1. setItem( key, value );添加本地存儲數據

  2.getItem( key );經過key獲取相應的value值

  3.removeItem( key ); 經過key刪除相應的value值

  4.clear();清空本地全部數據

 1 <script type="text/javascript">
 2     //添加key-value 數據到 sessionStorage
 3     localStorage.setItem("name", "憐白");
 4     localStorage.setItem("job", "前端");
 5 
 6     //經過key來獲取value
 7     var name = localStorage.getItem("name");
 8 
 9     console.log(name); // 憐白
10     console.log(localStorage.length); // 2
11 
12     // 經過key刪除value
13     localStorage.removeItem("job");
14 
15     console.log(localStorage.length); // 1
16 
17     //清空全部的key-value數據。
18     localStorage.clear();
19 
20     console.log(localStorage.length); // 0
21 </script>

 

4、總結  

  localStorage與sessionStorage 兩種區別就是一個臨時保存,一個長期保存。

  你可能見過下面這種寫法:

1 <script type="text/javascript">
2     // 設置name
3     localStorage.name = "憐白"
4 
5     // 刪除name
6     delete localStorage.name
7 </script>

  上面直接賦值的方法確實能夠實現功能,可是官方文檔中將其定義爲一種不安全的寫法,因此不要用這種寫法,使用localStorage提供的方法。

相關文章
相關標籤/搜索