1.下定义,什么是sessionStorage、localStorage
?
sessionStorage
和localStorage
是浏览器厂商约定开放给开发者的保存数据缓存的api
- 延伸:什么是数据缓存?
- 例如
jpg、png、text
文本等数据保存在内存或硬盘里一段时间以备重新读取使用称之为数据缓存。
2.sessionStorage、localStorage
常用的方法有哪些?(从前端开发者角度你可以认为sessionStorage、localStorage
是一个对象)
sessionStorage.getItem(key)
sessionStorage.removeItem(key)
localStorage.setItem(key,value)
localStorage.getItem(key)
localStorage.removeItem(key)
3.value
值的数据类型只能是字符串。那如何保存对象和数组等数据类型呢?
let userInfo = {name:"konglingzhan",age:28}
sessionStorage.setItem("userInfo",JSON.stringify(userInfo));
let myUserInfo = JSON.parse(sessionStorage.getItem("userInfo"));
4.两者的区别是什么呢?
sessionStorage
的数据缓存是保存在网页窗口的进程内存或线程内存中的,当网页窗口关闭的时候sessionStorage
的数据缓存也自动清除了
localStorage
的数据缓存是保存在物理硬盘中的,数据不会随着网页窗口关闭或者关闭浏览器而丢失。当需要清除的时候需要到浏览器的设置里手动清除
5.一些使用场景?
- web后台管理系统调用登录接口时保存返回的用户信息……
- 说到底知道了以上原理之后使用场景其实就是缓存一些数据以备复用,而不需要每次需要这些数据的时候都去请求接口