当前位置: 首页 > news >正文

localStorage和sessionStorage

localStorage和sessionStorage

localStorage是指在用户浏览器中存储数据的方式,允许Web应用程序将少量的数据保存在用户设备上,便于页面之间、关闭浏览器后的数据持久化,他不会随着HTTP请求发送道服务器,减少带宽消耗,存储方式是键值对进行存储

localstorage:

存储数据:

使用 localStorage.setItem(key, value) 方法将数据存储到 localStorage 中:

// 存储一个用户名
localStorage.setItem('username', 'Alice');

读取数据:

使用 localStorage.getItem(key) 方法可以获取存储在 localStorage 中的数据:

// 读取存储的用户名
const username = localStorage.getItem('username');
console.log(username);  // 输出:Alice

删除数据:

可以通过 localStorage.removeItem(key) 方法来删除指定的存储数据:

// 删除存储的用户名
localStorage.removeItem('username');

清空所有数据

如果需要清除 localStorage 中的所有数据,可以使用 localStorage.clear() 方法:

// 清空所有 localStorage 数据
localStorage.clear();

更新数据

localStorage 中的值是可以覆盖更新的,只需要再次调用 setItem 方法即可:

// 更新用户名为 Bob
localStorage.setItem('username', 'Bob');

存储对象和数组

localStorage 只能存储字符串,如果需要存储对象或数组,可以将它们序列化为 JSON 格式:

// 存储一个对象
const user = { name: 'Alice', age: 25 };
localStorage.setItem('user', JSON.stringify(user));// 读取对象
const storedUser = JSON.parse(localStorage.getItem('user'));
console.log(storedUser.name);  // 输出:Alice

localstorage

sessionstorage:

sessionStorage 的 API 与 localStorage 基本相同,唯一的区别在于其数据存储的生命周期。

  1. 存储数据
// 存储一个 session 数据
sessionStorage.setItem('sessionData', 'This is session data');
  1. 读取数据
// 读取 session 数据
const sessionData = sessionStorage.getItem('sessionData');
console.log(sessionData);  // 输出:This is session data
  1. 删除数据
// 删除指定 session 数据
sessionStorage.removeItem('sessionData');
  1. 清空所有 session 数据
// 清空所有 session 数据
sessionStorage.clear();

两者不同

localstorage和sessionstorage两者都是Web服务端,他们区别是在存储数据的生命周期上:

相同点:

localstorage和sessionstorage两者都是Web服务端API的一部分,用于浏览器中存储数据,存储的数据都是字符串

都受同源策略限制,只能在相同的协议、域名和端口下访问数据

不同点:

localstorage在同源的所有标签页和窗口中共享,session进项与当前标签页,即使是同源的其他标签也无法访问。

localstorage数据发生变动时,可以在其他窗口检测到,但是sessionstorage不可以监听到,

localstorage:数据持久化程度高,用户关闭浏览器后,数据依旧会被保留,除非手动删除,数据一直可以存在,适用于长期保存

sessionstorage:数据仅在浏览器会话期间有效,关闭页面或者标签页,数据会被删除,适用于存储临时性数据,表单状态之间传递数据

相关文章:

  • 【天府诸葛杯】九天画芯 FSHD 三色光源技术晋级复赛:突围下一代底层显示技术
  • 一键智能AI抠图,释放创意无限可能
  • Halcon之计算抓取螺母的位姿
  • suricata之日志截断
  • SlideLoss与FocalLoss在YOLOv8分类损失中的应用及性能分析
  • LSTM网络详解
  • C++笔记-set和map的使用(包含multiset和multimap的讲解)
  • 单因子实验 方差分析
  • 论文分享➲ arXiv2025 | TTRL: Test-Time Reinforcement Learning
  • RHCE实验:远程控制qq邮箱发送邮件
  • 每日算法-250510
  • 认识 Linux 内存构成:Linux 内存调优之内存分配机制和换页行为认知
  • Python数据分析
  • Windows 操作系统 - BAT 脚本引入(BAT 脚本初识、窗口标题与颜色、输出文本)
  • 操作系统学习笔记第1章 (竟成)
  • C/C++复习--C语言中的函数详细
  • 《P2415 集合求和》
  • Crewai Community Version(四)——Crew
  • vue使用rules实现表单校验——校验用户名和密码
  • TXT编码转换工具iconv
  • 做街坊们的“健康管家”,她把专科护理服务送上门
  • 黄土是他们的气质:打破宁夏当代油画创作的沉寂
  • 外交部发言人就印巴局势升级答记者问
  • 江西省直机关工委副书记熊亮华履新宜春市委常委、宣传部部长
  • 一周文化讲座|城市移民与数字时代的新工作
  • 北上广深均宣布下调个人住房公积金贷款利率