关于前端:JavaScript全解析本地存储

45次阅读

共计 1854 个字符,预计需要花费 5 分钟才能阅读完成。

●就是浏览器给咱们提供的能够让咱们在浏览器上保留一些数据
●罕用的本地存储
○ 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)

正文完
 0