HTML5学习笔记之LocalStorage本地存储

HTML
384
0
0
2022-05-02
标签   HTML5

HTML5学习笔记之LocalStorage本地存储

原文:
http://www.cnblogs.com/hzh-fe/archive/2017/10/26/7739296.html

一、本地存储

在HTML5诞生之前,网站如果想在浏览器端存储数据,只能使用Cookie,使用Cookie有较多的限制。

Cookie问题:

1.cookie大小限制在4K左右(各个浏览器不一致)

2.cookie每次随着HTTP请求都会一起发送(造成很多不需要的cookie也会一起发送)

本地存储:

1.localStorage大小限制在5M(各个浏览器不一致)

2.localStorage不会随着HTTP请求一起发送

二、会话级别的本地存储-sessionStorage

sessionStorage:用户浏览某个网站时,从进入网站开始一直到关闭网站,这就是session对象的有效期。

sessionStorage提供了四种方法对本地存储做相关操作。

1. setItem( key, value );添加本地存储数据

2.getItem( key );通过key获取相应的value值

3.removeItem( key ); 通过key删除相应的value值

4.clear();清空本地所有(限本域名下)session数据

推荐下我的前端群:524262608,不管你是小白还是大牛,小编我都挺欢迎,不定期分享干货,包括我自己整理的一份最新的前端资料和零基础入门教程,欢迎初学和进阶中的小伙伴。

 <script type="text/javascript"> 
 //添加key-value 数据到 sessionStorage 
 sessionStorage.setItem("name", "怜白"); 
 sessionStorage.setItem("job", "前端");
 
 //通过key来获取value var name = sessionStorage.getItem("name"); 
 
 console.log(name); // 怜白console.log(sessionStorage.length); // 2
 
 // 通过key删除value
 sessionStorage.removeItem("job");
 
 console.log(sessionStorage.length); // 1
 
 //清空所有的key-value数据。
 sessionStorage.clear();
 
 console.log(sessionStorage.length); // 0</script>

三、永久本地存储-localStorage

localStorage:用于持久化的本地存储,除非主动删除数据,否则数据是永远不会过期的。

localStorage提供了四种方法对本地存储做相关操作。

1. setItem( key, value );添加本地存储数据

2.getItem( key );通过key获取相应的value值

3.removeItem( key ); 通过key删除相应的value值

4.clear();清空本地所有数据

 <script type="text/javascript"> 
 //添加key-value 数据到 sessionStorage localStorage.setItem("name", "怜白");  
 localStorage.setItem("job", "前端"); 
 
 //通过key来获取value var name = localStorage.getItem("name"); 
 
 console.log(name); // 怜白console.log(localStorage.length); // 2
 
 // 通过key删除valuelocalStorage.removeItem("job");
 
 console.log(localStorage.length); // 1
 
 //清空所有的key-value数据。localStorage.clear();
 
 console.log(localStorage.length); // 0</script>

四、总结

localStorage与sessionStorage 两种区别就是一个临时保存,一个长期保存。

你可能见过下面这种写法:

 <script type="text/javascript">// 设置namelocalStorage.name = "怜白"
 
 // 删除namedelete localStorage.name</script>

上面直接赋值的方法确实可以实现功能,但是官方文档中将其定义为一种不安全的写法,所以不要用这种写法,使用localStorage提供的方法。