一,介绍
随着互联网的快速发展,基于网页的应用越来越普遍,同时也变的越来越复杂,为了满足各种各样的需求,会经常性在本地存储大量的数据,HTML5 规范提出了相关解决方案。
- 数据存储在用户浏览器中
- 设置、读取方便、甚至页面刷新不丢失数据
- 容量较大,sessionStorage和localStorage约5M左右
- 常见使用常见:页面刷新数据不丢失。
二,分类
2.1 localStorage
目标:能够使用 localStorage 把数据存储的浏览器中
作用:可以将数据永久存储在本地 (用户的电脑) 除非手动删除,否则关闭页面也会存在
特点:
- 可以多窗口(页面)共享(同一浏览器可以共享)
- 以键值对的形式存储使用
- key和value只能为string类型
语法:
-
存储数据
localStorage.setItem(key,value) -
获取数据
localStorage.getItem(key) -
删除本地存储
localStorage.removeItem(key)
2.2 sessionStorage
特性:
- 生命周期为关闭浏览器窗口
- 在同一个窗口(页面)下数据可以共享
- 以键值对的形式存储使用
- 用法跟localStorage 基本相同
语法:
-
存储数据
sessionStorage.setItem(key,value) -
获取数据
sessionStorage.getItem(key) -
删除本地存储
sessionStorage.removeItem(key)
三,存储复杂数据类型
目标:能够存储复杂数据类型以及取出数据
- 本地只能存储字符串,无法存储复杂数据类型.
解决:需要将复杂数据类型转换成 JSON 字符串, 在存储到本地
- 语法:
JSON.stringify(复杂数据类型)
const obj={
uname: 'name',
age: 18,
gender: '男'
}
//存
localStorage.setItem('obj',JSON.stringify(obj))
//取
console.log(
JSON.parse(
localStorage.getItem('obj')
)
)