JavaScript全解析——本地存储的概念、用法详解

在这里插入图片描述

本地存储概念:

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

常用的本地存储

localStorage

sessionStorage

localStorage

特点:

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

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

保存

4.语法: 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

特点:

  1. 会话存储,就是浏览器关闭就没有了
  2. 可以跨页面通讯(有要求)
  3. 要求:必须是本页面跳转才可以

保存

语法: 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

  1. cookie 存储大小有限制

=> 4KB 左右

  1. 存储的时效性

=> 默认是会话级别时效, 可以手动设置过期时间

  1. 操作必须依赖服务器

=> 本地打开的页面是不能操作 cookie

=> 也就是存存不上 , 读读不出来

=> 要求页面必须在服务器打开

  1. 跟随前后端请求自动携带

=> 只要 cookie 空间中有内容的时候

=> 会在该页面和后端交互的过程中自动携带

  1. 前后端操作

=> 前端可以使用 JS 来操作

=> 任何一个后端语言都可以操作

  1. 存储依赖域名

=> 哪一个域名存储, 哪一个域名使用

=> 不能跨域名通讯

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)

猜你喜欢

转载自blog.csdn.net/sdasadasds/article/details/130484718
今日推荐