JavaScript全解析——本地存储
●就是浏览器给我们提供的可以让我们在浏览器上保存一些数据 ●常用的本地存储 ○ localStorage ○sessionStorage localStorage => 特点: -> 长期存储,除非手动删除否则会一直保存在浏览器中 清除缓存或者卸载浏览器也就没有了 -> 可以跨页面通讯, 也就是说在一个页面写下在另一个页面可以读取 => 保存 -> 语法: window.localStorage.setItem(名字,值) -> 注意: 只能保存字符串类型的数据,其它数据类型不能被保存 => 获取 -> 语法: window.localStorage.getItem(名字) -> 注意: 保存的是字符串类型,取出来的也是字符串类型 -> 返回值: + 如果localStorage 中有这条数据 拿到的就是这个条数据的值 + 如果localStorage 中没有这条数据 拿到的就是 null => 删除 -> 语法: window.localStorage.removeItem(名字) -> 作用: 就是删除localStorage中该条数据
// 保存 var num = 200 window.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 存储的值是 100 document.cookie = a=100 // 设置了一条叫做 b 的 cookie 存储的值是 200 document.cookie = b=200 // 设置一条带有过期时间的 cookie var time = new Date() document.cookie = a=100;expires= + time // 设置一条 30s 以后过期的 cookie var 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 字符串
console.log(document.cookie)
