就是浏览器给我们提供的可以让我们在浏览器上保存一些数据

常用的本地存储

  • localStorage

  • sessionStorage

localStorage

特点

  • 长期存储,除非手动删除否则会一直保存在浏览器中,清除缓存或者卸载浏览器也就没有了

  • 可以跨页面通讯, 也就是说在一个页面写下在另一个页面可以读取

保存
语法: window.localStorage.setItem(名字,值)
注意: 只能保存字符串类型的数据,其它数据类型不能被保存

获取
语法: window.localStorage.getItem(名字)
注意: 保存的是字符串类型,取出来的也是字符串类型
返回值:

如果localStorage 中有这条数据 拿到的就是这个条数据的值

如果localStorage 中没有这条数据 拿到的就是 null

删除
语法:

window.localStorage.removeItem(名字)
作用: 就是删除localStorage中该条数据

//保存var num=200window.localStorage.setItem('a',num)//获取var res=window.localStorage.getItem('b')console.log(res);console.log(typeof res);//删除window.localStorage.removeItem('a')

sessionStorage

特点:

  • 会话存储,就是浏览器关闭就没有了

  • 可以跨页面通讯(有要求)
    要求:必须是本页面跳转才可以

保存
语法: window.sessionStorage.setItem(名字,值)
注意: 只能保存字符串类型的数据,其它数据类型不能被保存

获取
语法: window.sessionStorage.getItem(名字)
注意: 保存的是字符串类型,取出来的也是字符串类型
返回值:
如果 sessionStorage 中有该条数据 获取到的就是该条数据的值
如果 sessionStorage 中没有该条数据 拿到的就 null

删除
语法: window.sessionStorage.removeItem(名字)
作用: 就是删除 sessionStorage 中的这条数据

//保存window.sessionStorage.setItem('a',300)//获取var res=window.sessionStorage.getItem('a')console.log(res);console.log(typeof res);//删除window.sessionStorage.removeItem('a')

浏览器本地存储 -cookie

特点:
1. 只能存储字符串, 有固定的格式
key=value; key2=value2; key3=value3
2. cookie 存储大小有限制
4KB 左右
3. 存储的时效性
默认是会话级别时效, 可以手动设置过期时间
4. 操作必须依赖服务器
本地打开的页面是不能操作 cookie,也就是存存不上 , 读读不出来,要求页面必须在服务器打开
5. 跟随前后端请求自动携带
只要 cookie 空间中有内容的时候,会在该页面和后端交互的过程中自动携带
6. 前后端操作
前端可以使用 JS 来操作,任何一个后端语言都可以操作
7. 存储依赖域名
哪一个域名存储, 哪一个域名使用,不能跨域名通讯

cookie的操作

设置一条 cookie
语法: document.cookie = ‘key=value’

//设置一条cookie//设置了一条叫做a的cookie存储的值是100document.cookie='a=100'//设置了一条叫做b的cookie存储的值是200document.cookie='b=200'//设置一条带有过期时间的cookievar time=new Date()document.cookie='a=100;expires='+time//设置一条30s以后过期的cookievar time=new Date()time.setTime(time.getTime()-1000*60*60*8+1000*30)//console.log(time)document.cookie='a=100;expires='+time

获取 cookie
语法: document.cookie
返回值: 完整的 cookie 字符串