携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第28天,点击查看活动详情
localStorage和sessionStorage都是html5提供的可以在客户端直接储存数据的方法。这样,我们就可以储存一些经常使用,但又不怎么变化的数据(例如:用户信息)在客户端,这样也可以避免每次都要和服务端交互才能获取数据。下面来看下这两种本地储存方法的使用以及区别。
localStorage
localStorage使用
localStorage的使用主要就是存储数据、获取数据以及清除数据,这几种操作都有其对应的api来实现,如下:
// 存储一个键值为key,值为value的localStorage
localStorage.setItem("key", "value")
// 获取localStorage中储存的键值为key的内容
localStorage.getItem("key")
// 清除localStorage中存储的键值为key的内容
localStorage.removeItem("key")
// 清除localStorage中存储的所有数据
localStorage.clear()
需要注意的是,localStorage中存储的内容是一个字符串,如果我们存储的数据是一个对象,那么需要将对象使用JSON.stringify()转化成字符串进行储存,然后在获取使用的时候,通过localStorage.getItem()获取的也是字符串,这时候需要使用JSON.parse()来将获取到的字符串转化成对象。
localStorage的存储时间
localStorage是持久型的,储存时间是永久的,也就是说当关闭浏览器之后,localStorage中的数据依旧还在。所以,localStorage中的数据除非主动删除,否则永远存在。
sessionStorage
使用
sessionStorage的使用API和localStorage是一样的,也是对数据的储存、获取以及清除操作,其对应的api(含义可以参照上述localStorage)如下:
sessionStorage.setItem("key", "value")
sessionStorage.getItem("key")
sessionStorage.removeItem("key")
sessionStorage.clear()
同样,sessionStorage的存储的内容也是一个字符串,在储存和获取对象数据的时候,也是需要使用JSON.stringify()和JSON.parse()来进行处理的。
sessionStorage的存储时间
sessionStorage是会话型的,也就是说当关闭浏览器之后,sessionStorage中的数据就没有了。
以上就是localStorage和sessionStorage的使用以及储存期限,我们在使用的时候需要注意,客户端储存一般不要储存太大的数据,localStorage和sessionStorage的储存都是5M。