本地存储总结
目录
1.本地存储特性
1、数据存储在用户浏览器中
2、设置、读取方便、甚至页面刷新不丢失数据
3、容量较大,sessionStorage约5M、localStorage约20M
4、只能存储字符串,可以将对象JSON.stringify() 编码后存储
2. window.sessionStorage
1、生命周期为关闭浏览器窗口
2.在同一个窗口(页面)下数据可以共享
3.以键值对的形式存储使用
存储数据
sessionStorage.setltem(key,value) //存储数据到本地 key表示属性,value表示属性值
获取数据
sessionStorage.getltem(key) //key:表示的是键--也就是属性
删除数据
sessionStorage.removeltem(key) //删除数据
删除所有数据
sessionStorage.clear()
3.window.localStorage
1、声明周期永久生效,除非手动删除 否则关闭页面也会存在
2、可以多窗口(页面)共享(同一浏览器可以共享)
3. 以键值对的形式存储使用
存储数据
localStorage.setltem(key value)
获取数据
localStorage.getltem(key)
删除数据
localStorage.removeltem(key)
删除所有数据
localStorage.clear()
案例练习:记住用户名
需求:如果勾选记住用户名, 下次用户打开浏览器,就在文本框里面自动显示上次登录的用户名
案例分析:
1)把数据存起来,用到本地存储
2)关闭页面,也可以显示用户名,所以用到localStorage
3)打开页面,先判断是否有这个用户名,如果有,就在表单里面显示用户名,并且勾选复选框
4)当复选框发生改变的时候 change事件
5)如果勾选,就存储,否则就移除
代码展示:
<body>
<input type="text" id="username"> <input type="checkbox" name="" id="remember"> 记住用户名
<script>
// 1.获取元素
var username = document.querySelector('#username');
var remember = document.querySelector('#remember');
// 2.判断条件
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>