> 文档中心 > 【一篇文章拿捏】JS 本地存储

【一篇文章拿捏】JS 本地存储


       什么是本地存储呢?我们平常保存东西或者需要经过数据库,服务器,将数据存到数据库中,但有些时候我们要保存的数据没有必要存到数据库中,比如我们在网页输入的内容,我们想要刷新页面也不会清楚数据,这时本地存储就有了其价值

本地存储主要有以下几种特性:

  • 数据存在浏览器中
  • 读取方便
  • 页面刷新不会丢失数据
  • 只能存储字符串

这篇文章我们主要研究本地存储的两种方式: 

  • window.sessionStorage
  • window.localStorage

( window 可省略 ) 


 一:window.sessionStorage

        在开始讲解此方式前,我们先说明一个名词 ------- 生命周期,所谓生命周期,就是从创建到销毁经历的过程,window.sessionStorage 的生命周期就是关闭浏览器窗口就可将其销毁。

其特点如下:生命周期为关闭浏览器窗口,仅可同一页面可共享数据,以键值对的形式存储

数据的特性不过是增删查改:

  • sessionStorage.setItem (key, value):存储数据

  • sessionStorage.getItem (key):获取数据

  • sessionStorage.removeItem (key):删除数据

  • sessionStorage.clear ():删除所有数据

sessionStorage.setItem (key, value):

用于存储数据,以键值对的方式存入浏览器

                 var text=document.querySelector('input');  var btn=document.querySelector('button');  btn.addEventListener('click',function(){      window.sessionStorage.setItem('id',text.value)  })     


sessionStorage.getItem (key):

用于获取数据,此处将存储的值给了文本框,让其重新显示

                      var text=document.querySelector('input');  var btnset=document.querySelector('.set');  var btnget=document.querySelector('.get');  btnset.addEventListener('click',function(){  //存储数据      window.sessionStorage.setItem('id',text.value);  })  btnget.addEventListener('click',function(){  //获取数据     text.value= window.sessionStorage.getItem('id');  })     


 sessionStorage.removeItem (key):

用于删除存储的数据,一次只能删一个指定键的数据

                           var text=document.querySelector('input');  var btnset=document.querySelector('.set');  var btnget=document.querySelector('.get');  var btnremove=document.querySelector('.remove');  btnset.addEventListener('click',function(){  //存储数据      window.sessionStorage.setItem('id',text.value);  })  btnget.addEventListener('click',function(){  //获取数据     text.value= window.sessionStorage.getItem('id');  })  btnremove.addEventListener('click',function(){  //获取数据     window.sessionStorage.removeItem('id');  })     

存储后数据存在了浏览器中:

 删除后数据完完全全被删除,无法再次获取:


sessionStorage.clear ():

清除所有数据

                                var text=document.querySelector('input');  var btnset=document.querySelector('.set');  var btnget=document.querySelector('.get');  var btnremove=document.querySelector('.remove');  var btnclear=document.querySelector('.clear');  btnset.addEventListener('click',function(){  //存储数据      window.sessionStorage.setItem('id',text.value);      window.sessionStorage.setItem('pwd',text.value);  })  btnget.addEventListener('click',function(){  //获取数据     text.value= window.sessionStorage.getItem('id');  })  btnremove.addEventListener('click',function(){  //获取数据     window.sessionStorage.removeItem('id');  })  btnclear.addEventListener('click',function(){  //获取数据     window.sessionStorage.clear();  })     

我们先存入两个数据:

 删除所有数据后数据消失:


  二:window.localStorage

其特点如下:生命周期为永久生效的,关闭浏览器也会存在,除非手动删除,可以多个页面共享数据(同一个浏览器下),以键值对的形式存储

数据的特性增删查改和 sessionStorage 一样:

  • localStorage.setItem (key, value):存储数据

  • localStorage.getItem (key):获取数据

  • localStorage.removeItem (key):删除数据

  • localStorage.clear ():删除所有数据

 localStorage.setItem (key, value):

存储数据,由于其生命周期为永久,所以即使关闭浏览器,再打开也会存在此数据

             var text=document.querySelector('input'); var btn=document.querySelector('button'); btn.addEventListener('click',function(){     window.localStorage.setItem('id',text.value) })    


localStorage.getItem (key):

用于获取数据 ,用法与上均相同

                 var text=document.querySelector('input'); var btnset=document.querySelector('.set'); var btnget=document.querySelector('.get'); btnset.addEventListener('click',function(){  //存储数据     window.localStorage.setItem('id',text.value); }) btnget.addEventListener('click',function(){  //获取数据    text.value= window.localStorage.getItem('id'); })    


 localStorage.removeItem (key):

用于删除存储的数据,一次只能删一个指定键的数据

                           var text=document.querySelector('input');  var btnset=document.querySelector('.set');  var btnget=document.querySelector('.get');  var btnremove=document.querySelector('.remove');  btnset.addEventListener('click',function(){  //存储数据      window.localStorage.setItem('id',text.value);  })  btnget.addEventListener('click',function(){  //获取数据     text.value= window.localStorage.getItem('id');  })  btnremove.addEventListener('click',function(){  //获取数据     window.localStorage.removeItem('id');  })     

存储后数据存在了浏览器中:

 删除后数据完完全全被删除,无法再次获取:


 localStorage.clear ():

 清除所有数据

                                var text=document.querySelector('input');  var btnset=document.querySelector('.set');  var btnget=document.querySelector('.get');  var btnremove=document.querySelector('.remove');  var btnclear=document.querySelector('.clear');  btnset.addEventListener('click',function(){  //存储数据      window.localStorage.setItem('id',text.value);      window.localStorage.setItem('pwd',text.value);  })  btnget.addEventListener('click',function(){  //获取数据     text.value= window.localStorage.getItem('id');  })  btnremove.addEventListener('click',function(){  //获取数据     window.localStorage.removeItem('id');  })  btnclear.addEventListener('click',function(){  //获取数据     window.localStorage.clear();  })     

我们先存入两个数据:

 删除所有数据后数据消失:

 

好看字体下载