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

通过JavaScript本地存储数据

文章目录

  • 本地存储
    • 本地存储分类 - localStorage
    • 本地存储分类 - sessionStorage
    • 存储复杂数据类型
      • 解决方法


本地存储

  • 数据存储在用户浏览器中
  • 设置、读取方便、甚至页面刷新都不丢失数据
  • 容量较大,sessionStorage和localStorage约5M左右

本地存储分类 - localStorage

可以将数据永久存储在本地(用户的电脑),除非手动删除,否则关闭页面也会存在。

特性:

  • 可以多窗口(页面)共享(同一浏览器可以共享)
  • 以键值对的形式存储使用

语法:

  • 存储/修改数据:localStorage.setltem(key,value) // 有改无增
  • 获取数据:localStorage.getItem(key)
  • 删除数据:localStorage.removeItem(key)

本地存储只能存储字符串类型,非字符串类型会转换成字符串类型存储

本地存储分类 - sessionStorage

特性:

  • 生命周期为关闭浏览器窗口
  • 在同一个窗口(页面)下数据可以共享
  • 以键值对的形式存储使用
  • 用法跟localStorage相同

存储复杂数据类型

本地只能存储字符串,无法存储复杂数据类型。

解决方法

需要将复杂数据类型转换成JSON字符串,再存储到本地。

语法:JSON.stringify(复杂数据类型)

保存时将对象转为JSON字符串:

    const obj = {uname: 'lily',age: 19,gender: '女'}localStorage.setItem('obj', JSON.stringify(obj))console.log(typeof localStorage.getItem('obj')) // 返回String,obj存进去是字符串,不是对象// JSON对象的属性和值都有引号,而且统一是双引号

取用时把JSON字符串转换为对象:JSON.parse(localStorage.getItem('obj'))


http://www.lryc.cn/news/355251.html

相关文章:

  • CTF-web-攻防世界-3
  • 【附代码案例】深入理解 PyTorch 张量:叶子张量与非叶子张量
  • TypeScript 学习笔记(七):TypeScript 与后端框架的结合应用
  • Linux基础知识点总结!超详细
  • 中小学校活动怎样投稿给媒体报道宣传?
  • Python代码:十七、生成列表
  • C++ 程序的基本要素
  • 藏汉翻译工具有哪些?这三款工具简单好用
  • three.js官方案例webgl_loader_fbx.html学习
  • 51单片机-实机演示(单多个数码管)
  • Pytorch深度学习实践笔记10(b站刘二大人)
  • QT5.15.2及以上版本安装
  • 5月27日
  • python给三维点上色,并添加颜色柱
  • Ubuntu22.04之解决:忘记登录密码(二百三十二)
  • stream-并行流
  • 插件“猫抓”使用方法 - 浏览器下载m3u8视频 - 合并 - 视频检测下载 - 网课下载神器
  • 【quarkus系列】构建可执行文件native image
  • linux(ubuntu)常用的代理设置
  • 红队攻防渗透技术实战流程:红队目标上线之Webshell免杀对抗
  • Habicht定理中有关子结式命题3.4.6的证明
  • 【Unity AR开发插件】如何快速地开发可热更的AR应用
  • Divisibility Part1(整除理论1)
  • 代码随想录算法训练营第三十七天 | 860.柠檬水找零、406.根据身高重建队列、452.用最少数量的箭引爆气球
  • GolangFoundation
  • 如果任务过多,队列积压怎么处理?
  • FTP协议——BFTPD基本操作(Ubuntu+Win)
  • 为什么需要分布式 ID?
  • MIT6.828 Lab2-3 Sysinfo
  • 形态学操作:腐蚀、膨胀、开闭运算、顶帽底帽变换、形态学梯度区别与联系