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提供的方法。

相关文章
相关标签/搜索