当前位置: 首页 > 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'))


相关文章:

  • HG/T 6088-2022 透水道路用涂料检测
  • 有限元法之有限元空间的构造
  • LeetCode2.两数相加
  • nodejs安装配置
  • K-means聚类算法详细介绍
  • Vue.js - 计算属性与侦听器 【0基础向 Vue 基础学习】
  • 【驱动】RS485收发控制、自动收发电路及波特率限制
  • 介绍一下Lumina-T2X在哪些领域有应用
  • elementui中 表格使用树形数据且固定一列时展开子集移入时背景色不全问题(父级和子级所展示的字段是不一样的时候)
  • Rust后台管理系统Salvo-admin源码编译
  • 基于Fluent和深度学习算法驱动的流体力学计算与应用
  • 5.27周报
  • 【MySQL精通之路】数据类型
  • [转载]同一台电脑同时使用GitHub和GitLab
  • C++:vector基础讲解
  • ----------
  • php的引用
  • 《微软的软件测试之道》成书始末、出版宣告、补充致谢名单及相关信息
  • 【笔记】你不知道的JS读书笔记——Promise
  • 2017年终总结、随想
  • ECS应用管理最佳实践
  • iOS筛选菜单、分段选择器、导航栏、悬浮窗、转场动画、启动视频等源码
  • java取消线程实例
  • js面向对象
  • JS学习笔记——闭包
  • Laravel 中的一个后期静态绑定
  • Linux链接文件
  • magento2项目上线注意事项
  • MySQL数据库运维之数据恢复
  • PAT A1050
  • Python爬虫--- 1.3 BS4库的解析器
  • React+TypeScript入门
  • Spring Boot快速入门(一):Hello Spring Boot
  • 如何优雅的使用vue+Dcloud(Hbuild)开发混合app
  • 微信如何实现自动跳转到用其他浏览器打开指定页面下载APP
  • 译自由幺半群
  • 由插件封装引出的一丢丢思考
  • 智能网联汽车信息安全
  • #NOIP 2014# day.1 T3 飞扬的小鸟 bird
  • #QT 笔记一
  • #微信小程序:微信小程序常见的配置传旨
  • (04)Hive的相关概念——order by 、sort by、distribute by 、cluster by
  • (4) openssl rsa/pkey(查看私钥、从私钥中提取公钥、查看公钥)
  • (C语言)编写程序将一个4×4的数组进行顺时针旋转90度后输出。
  • (Matlab)遗传算法优化的BP神经网络实现回归预测
  • (办公)springboot配置aop处理请求.
  • (超详细)2-YOLOV5改进-添加SimAM注意力机制
  • (多级缓存)多级缓存
  • (二)斐波那契Fabonacci函数
  • (附源码)spring boot车辆管理系统 毕业设计 031034
  • (七)理解angular中的module和injector,即依赖注入
  • (收藏)Git和Repo扫盲——如何取得Android源代码
  • (一)、python程序--模拟电脑鼠走迷宫
  • .gitignore文件---让git自动忽略指定文件
  • .NET Core 中的路径问题