本地存储
特性:
1.数据存储在用户浏览器中
2.设置、读取方便,甚至页面刷新不丢失数据
2.容量较大,sessionStorage 约5M,localStorage约20M
3.只能存储字符串,可以将对象JSON.stringify()编码后存储
window.sessionStorage:
1.生命周期为关闭浏览器窗口
2.在同一个窗口(页面)下数据可以共享
3.以键值对的形式存储使用
存储数据:sessionStorage.setItem(key,value);
获得数据:sessionStorage.getItem('key')
删除数据:sessionStorage.removeItem('key')
清空数据:sessionStorage.clear('key')
<input type="text"> <button class="set">存储数据</button> <button class="get">获取数据</button> <button class="remove">删除数据</button> <button class="del">清空所有数据</button> <script> var ipt = document.querySelector('input'); var set = document.querySelector('.set'); var get = document.querySelector('.get'); var remove = document.querySelector('.remove'); var del = document.querySelector('.del'); set.addEventListener('click',function(){ //点击后就把表单的值存储起来 var val = ipt.value; sessionStorage.setItem('uname',val); sessionStorage.setItem('pwd',val);//写几行就可以存储几个数据 }) get.addEventListener('click',function(){ //点击后就把表单的值获取过来并打印 console.log(sessionStorage.getItem('uname')); }) remove.addEventListener('click',function(){ //点击后就把表单的值移除 sessionStorage.removeItem('uname'); }) del.addEventListener('click',function(){ //点击后就把表单的值清空 sessionStorage.clear('uname'); }) </script>
window.localStorage:
1.生命周期永久,除非手动删除,即使关闭页面,数据也会存在
2.可以多窗口(页面)共享,(同一浏览器间可以共享)
3.以键值对的形式存储使用
存储数据:localStorage.setItem(key,value);
获得数据:localStorage.getItem('key')
删除数据:localStorage.removeItem('key')
清空数据:localStorage.clear('key')
<input type="text"> <button class="set">存储数据</button> <button class="get">获取数据</button> <button class="remove">删除数据</button> <button class="del">清空所有数据</button> <script> var ipt = document.querySelector('input'); var set = document.querySelector('.set'); var get = document.querySelector('.get'); var remove = document.querySelector('.remove'); var del = document.querySelector('.del'); set.addEventListener('click',function(){ //点击后就把表单的值存储起来 var val = ipt.value; localStorage.setItem('uname',val); }) get.addEventListener('click',function(){ //点击后就把表单的值获取过来并打印 console.log(localStorage.getItem('uname')); }) remove.addEventListener('click',function(){ //点击后就把表单的值移除 localStorage.removeItem('uname'); }) del.addEventListener('click',function(){ //点击后就把表单的值清空 localStorage.clear('uname'); }) </script>
1.把数据存起来,用到本地存储
2.关闭页面,也可以显示用户名,所以用到localStorage
3.打开页面,先判断是否有这个用户名,如果有,就在表单里面显示用户名,并且勾选复选框
4.当复选框发生改变的时候change事件
5.如果勾选,就存储,否则就移除
<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=localStorage.getItem('username'); remember.checked = true; } remember.addEventListener('change',function(){ if(this.checked){ localStorage.setItem('username',username.value) }else{ localStorage.removeItem('username'); } }) </script>