首页 > 编程语言 >JavaScript全解析——本地存储✔(localStorage~sessionStorage~cookie)

JavaScript全解析——本地存储✔(localStorage~sessionStorage~cookie)

时间:2024-07-15 22:29:21浏览次数:9  
标签:存储 sessionStorage JavaScript window localStorage cookie document

●就是浏览器给我们提供的可以让我们在浏览器上保存一些数据
●常用的本地存储
(localStorage~sessionStorage~cookie)

1-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')

2- 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')

3- cookie

特点:

只能存储字符串, 有固定的格式
=> key=value; key2=value2; key3=value3

cookie 存储大小有限制
=> 4KB 左右

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

操作必须依赖服务器
=> 本地打开的页面是不能操作 cookie
=> 也就是存存不上 , 读读不出来
=> 要求页面必须在服务器打开

跟随前后端请求自动携带
=> 只要 cookie 空间中有内容的时候
=> 会在该页面和后端交互的过程中自动携带

前后端操作
=> 前端可以使用 JS 来操作
=> 任何一个后端语言都可以操作

存储依赖域名
=> 哪一个域名存储, 哪一个域名使用
=> 不能跨域名通讯

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)

 

标签:存储,sessionStorage,JavaScript,window,localStorage,cookie,document
From: https://www.cnblogs.com/mahmud/p/18304168

相关文章

  • javaScript基础讲解
     Javascript1.基本语法入门<head>  <metacharset="UTF-8">  <title>Title</title>  /*Javascript严格区分大小写*/  <script>    varscore=62;    if(score>60&&score<70){      alert("67"......
  • JavaScript中的new map()和new set()使用详细(new map()和new set()的区别)
    Map对象是一种键值对的集合,其中的键是唯一的,值可以重复。newSet():在JavaScript中,newSet()是用来创建一个新的Set对象的语法。Set对象是一种集合,其中的值是唯一的,没有重复的值。newSet()可以用来创建一个空的Set对象,在创建时传入一个数组或类数组对象,Set会自动去......
  • JavaScript基础第一弹学习笔记
    1.什么是JavaScript?        JavaScript是一种运行在客户端(浏览器)的编程语言,实现人机交互效果2.作用①网页特效②表单验证③数据交互④服务端编程(就是node.js)3.JavaScript由什么组成?①ECMAScript:它规定了js基础语法核心知识。例如变量、分支语句、对象等②Web......
  • ECMA标准ECMAScript(JavaScript的一个标准)和C#
    2024年6月26日,第127届ECMA大会正式批准了ECMAScript2024语言规范,这意味着它现在正式成为最新ECMAScript标准。ECMAScript是ECMA标准中最著名的编程语言标准,它定义了JavaScript语言的核心特性。C#语言则是由ECMA国际组织制定的编程语言标准,目前最新的版本是ECMA-334......
  • JavaScript 的对象和方法
    对象对象是JavaScript数据类型的一种,之前已经学习了数值类型、字符串类型、布尔类型、undefined。对象数据类型可以被理解成是一种数据集合。它由属性和方法两部分构成。语法声明一个对象类型的变量与之前声明一个数值或字符串类型的变量没有本质上的区别。<!DOCTYP......
  • 【JavaScript脚本宇宙】解密六大Node.js消息队列库:选对工具,事半功倍
    从Bull到NSQ:探索Node.js消息队列库的全貌前言在现代软件开发中,消息队列是一种常见的通信模式,用于实现异步任务处理、解耦系统组件、以及实现可靠的事件驱动架构。Node.js作为一个流行的后端开发平台,有许多优秀的消息队列库可以供开发者选择和使用。本文将介绍六个流行的No......
  • JavaScript的基础学习(一)
    从头开始学习JavaScript,重新开始打基础<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>......
  • 【JavaScript】聊一聊js中的浅拷贝与深拷贝与手写实现
    前言什么是深拷贝与浅拷贝?深拷贝与浅拷贝是js中处理对象或数据复制操作的两种方式。‌在聊深浅拷贝之前咱得了解一下js中的两种数据类型:基本数据类型(6种)String、Number、Object、Boolean、null、undefined、symbol(ES6+)引用数据类型Object(function、Array、正则表达式等皆......
  • 【JavaScript脚本宇宙】创意无限:探索六款热门JavaScript图形库的魅力
    探索JavaScript图形库:深入了解网络操作和数据可视化工具前言在当今数字化时代,数据可视化和网络分析变得愈发重要。JavaScript图形库的出现为开发人员提供了丰富的工具和资源,帮助他们更轻松地创建复杂的网络图形和数据可视化效果。本文将介绍几个流行的JavaScript图形库,包......
  • JavaScript(9) ----this指向问题,bind,call,apply等方法
    目录this指向问题全局函数调用:对象方法调用:构造函数调用:事件处理:箭头函数:setTimeout和setInterval7.使用call、apply或bindcall方法apply方法bind方法总结this指向问题全局函数调用:在全局作用域中调用函数时,this指向全局对象(浏览器中是window对象)。fun......