一.localStorage
- 浏览器的本地存储,持久存储, 一旦存储永久存在
- 只能存基本数据类型(一般存储字符串),不能存储其它数据类型
- 可跨页面通讯:两个页面得到了数据共享,我们将这种情况叫做 跨页面通讯
1.1 localStorage 进行增加操作
window.localStorage.setItem('qq1','88888888')
window.localStorage.setItem('qq2','66666666')
1.2 localStorage 进行查找操作
var qq1 = window.localStorage.getItem('qq1')
var pw = window.localStorage.getItem('password')
console.log(qq
1.3 localStorage 进行删除一条的操作
window.localStorage.removeItem('qq1')
1.4 localStorage 进行清空的操作
window.localStorage.clear()
二.sessionStorage
- 浏览器的本地存储,临时存储,关闭浏览器以后,存储内容自动消失
- 想要跨页面通讯,必须是本页面跳转的
2.1 sessionStorage进行增加操作
window.sessionStorage.setItem('wx1','gjx0412')
window.sessionStorage.setItem('wx2','gjx0515')
window.sessionStorage.setItem('wx3','gjx0000')
2.2 sessionStorage进行查找操作
var wx1 = window.sessionStorage.getItem('wx1')
console.log(wx1)
var phoneNum = window.sessionStorage.getItem('pNum')
console.log(phoneNum)
2.3 sessionStorage进行删除一条的操作
window.sessionStorage.removeItem('wx3')
2.4 sessionStorage进行清空的操作
window.sessionStorage.clear()
三.cookie
3.1 cookie的注意事项
- 只能存储字符串,并且有固定的格式
- key = value; key2 = value2
- 存储大小有限制 (大约是 4kb)
- 存储有时效性
- 操作必须依赖服务器
- 本地打开的页面不能操作 cookie
- 要求页面必须在服务器打开
- 跟随前后端请求自动携带
- 只要 cookie 空间中有内容时
- 会在该页面和后端交互的过程中自动携带
- 前后端操作
- 前端可以使用JS来操作 cookie
- 任何一个后端语言都可以操作 cookie
- 存储依赖域名
- 哪一个域名存储,哪一个域名使用
- 注意:不能跨域名通讯
3.2设置并且使用cookie
document.cookie = 'QQ=123456'
var timer = new Date()
document.cookie = 'QQ=123456;expires=' + timer
var timer = new Date()
timer.setTime(timer.getTime() - 1000 * 60 * 60 * 8 + 1000 * 3)
document.cookie = 'QQ=123456;expires=' + timer
document.cookie = 'wx1=654321'
document.cookie = 'wx2=gjx0412'
console.log(document.cookie)
setTimeout(function(){
console.log(document.cookie)
},5000)
四.本地存储的区别(重点)
- 出现时间
- cookie: 有JS 的时候就存在了
- storage: H5 出现以后才有(这里把localStorage和sessionStorage简称为storage)
- 存储大小
- cookie: 4k左右
- storage: 20M 左右
- 前后端交互
- cookie: 会跟随页面的请求自动携带
- storage: 不会跟随请求自动携带
- 过期时间
- cookie: 默认是会话级别,可以手动设置过期时间
- storage: 不能手动设置
- 前后端操作
- cookie: 前后端语言都能操作
- storage:只能由 JS 操作
- localStorage 和 sessionStorage
- 过期时间:
- local: 永久存储,除非手动删除
- session:临时存储
- 跨页面通讯
- local: 直接跨页面通讯
- session:只能是当前窗口(页面)跳转的页面才能通讯
- 共同点:只能存储字符串,不能存储复杂数据类型