一、本地存储
1、特性
① 数据存储在用户浏览器中
② 设置、读取方便、甚至页面刷新不丢失数据
③ 容量较大,sessionStorage约5M
、localStorage约20M
④ 只能存储字符串
⑤存储对象:JSON.stringfy()
⑥ 获取对象:JSON.parse()
2、window.sessionStorage
① 生命周期为关闭浏览器窗口
② 在同一个窗口(页面)下数据可以共享
③ 以键值对的形式存储使用
存储数据
sessionStorage.setItem(key,value)
获取数据
sessionStorage.getItem(key,value)
删除数据
sessionStorage.removeItem(key,value)
删除所有数据
sessionStorage.clear()
3、window.localStorage
① 生命周期永久生效
,除非手动删除,页面关闭数据依然存在
② 可以同一浏览器多窗口(页面)共享
③ 以键值对的形式存储使用
存储数据
localStorage.setItem(key,value)
获取数据
localStorage.getItem(key,value)
删除数据
localStorage.removeItem(key,value)
删除所有数据
localStorage.clear()
二、案例
1、记住用户名
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<input type="text" id="username"> <input type="checkbox" name="" id="remember"> 记住用户名
<script>
var username = document.querySelector('#username');
var remember = document.querySelector('#remember');
if (localStorage.getItem('username')) {
username.value = localStorage.getItem('username');
remember.checked = true;
}
remember.addEventListener('change', function() {
if (this.checked) {
localStorage.setItem('username', username.value)
} else {
localStorage.removeItem('username');
}
})
</script>
</body>