点击上方蓝色字体【学习web前端】可【快速关注】
【讲座】大咖说-前端大型免费公开讲座
【教程】精品教程在这里
一、本地存储
在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数据
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>
三、永久本地存储-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删除value13 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>
四、总结
localStorage与sessionStorage 两种区别就是一个临时保存,一个长期保存。
你可能见过下面这种写法:
1 <script type="text/javascript">
2 // 设置name3 localStorage.name = "怜白"
4
5 // 删除name6 delete localStorage.name
7 </script>
上面直接赋值的方法确实可以实现功能,但是官方文档中将其定义为一种不安全的写法,所以不要用这种写法,使用localStorage提供的方法。
声明 | 文章著作权归作者所有,如有侵权,请联系小编删除。
如果大家对特效或者小游戏开发学习感兴趣的话,可以加入小编学习交流QQ群(462411750),点击【阅读原文】即可加入.每晚8点我都会在公开讲座上免费为大家分享一些特效及小游戏开发案例。带你从零开始,学习制作特效或小游戏。让我们相互陪伴,共同成长!
► 程序员2万工资很高?金融从业者工资曝光,网友感慨程序员被秒杀
► 程序员那些牛逼闪闪的禁术,看到第二条我就忍不住哈哈哈哈哈哈哈哈