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

JavaScript 中 getItem 方法详解

JavaScript 中 getItem 方法详解

你想了解的 JavaScript 中的 getItem 方法,核心是用于从浏览器的存储对象中读取指定键(key)对应的存储值(value),最常用在 Web 存储相关的 API 中,下面分核心知识点详细说明:

一、核心使用场景:两大存储对象

getItem 并非全局通用方法,主要绑定在浏览器提供的两个存储对象上,也是日常开发的核心场景:

  1. localStorage:永久存储(除非手动删除或清理浏览器数据,否则数据会一直保留在本地)
  2. sessionStorage:会话存储(仅在当前浏览器标签页有效,标签页关闭后数据自动销毁)

这两个对象的 getItem 用法完全一致,仅存储有效期不同。

二、基本语法

语法格式非常简洁,参数和返回值有明确规范:

// 通用语法
存储对象.getItem(keyName);
  • 参数 keyName:必需,字符串类型(String),表示你要读取的存储数据对应的「键名」(存储时已定义的唯一标识)。
  • 返回值
    • 如果存在对应 keyName 的数据,返回该数据对应的「字符串值」(所有 Web 存储的数据都会被自动序列化为字符串格式存储);
    • 如果不存在对应 keyName(键名不存在或未存储该数据),返回 null(这是判断某个键是否存在的重要依据)。

三、完整代码示例

下面通过 localStorage 演示 getItem 的完整使用(sessionStorage 用法完全替换即可):

// 第一步:先通过 setItem 存储数据(搭配 getItem 使用,模拟实际开发场景)
localStorage.setItem("userName", "张三"); // 存储键名:userName,键值:张三
localStorage.setItem("userAge", "25"); // 存储数字时,也会自动转为字符串
localStorage.setItem("userInfo", JSON.stringify({ id: 1, gender: "男" })); // 存储对象需先序列化// 第二步:通过 getItem 读取数据
const userName = localStorage.getItem("userName");
const userAge = localStorage.getItem("userAge");
const userInfo = JSON.parse(localStorage.getItem("userInfo")); // 读取对象需反序列化
const nonExistKey = localStorage.getItem("unKnownKey"); // 读取不存在的键// 第三步:打印结果
console.log(userName); // 输出:"张三"(字符串类型)
console.log(userAge); // 输出:"25"(字符串类型,注意不是数字 25)
console.log(userInfo); // 输出:{ id: 1, gender: "男" }(还原为对象)
console.log(nonExistKey); // 输出:null(键不存在时返回 null)// 可选:删除存储(辅助理解)
localStorage.removeItem("userName");
console.log(localStorage.getItem("userName")); // 输出:null(删除后读取也返回 null)

四、补充说明

  1. 数据类型限制:Web 存储仅支持字符串格式存储,因此读取非字符串类型(对象、数组、数字等)时,需要配合 JSON.stringify(存储时)和 JSON.parse(读取后)进行转换,否则会读取到无效格式。
  2. 兼容性:支持所有现代浏览器,以及 IE8 及以上版本,无需额外兼容处理。
  3. 区别于其他 getItem:部分其他 API 也有 getItem 方法(如 Cookie 相关、IndexedDB 等),但 Web 开发中最常用的仍是 localStoragesessionStorage 上的 getItem,其核心逻辑都是「按键取值」,仅API细节略有差异。

总结

  1. getItem 核心功能:从浏览器 localStorage/sessionStorage 中按键名读取存储值;
  2. 关键特性:参数为字符串键名,存在对应数据返回字符串值,不存在返回 null
  3. 核心用法:配合 setItem 存储数据,读取对象/数组时需用 JSON.parse 反序列化。
http://www.jsqmd.com/news/160141/

相关文章:

  • 年末如何挑选手机?性能与影像成关键考量
  • 按Token计费的大模型API如何与PyTorch本地训练衔接
  • [应用方案] GALT62120_尾灯自动单 LED 短路 (AutoSS) 检测功能的问题与理解
  • 2025环保纸杯创业指南:全自动生产线核心设备盘点——从纸杯机、纸碗机到杯盖机的制造商全景解析 - 品牌2026
  • 拆解桥博士的“波浪带鱼理论”:如何像过滤器一样提纯交易信号?
  • 2025年维氏硬度计定制厂家权威推荐榜单:布氏硬度计/邵氏硬度计/里氏硬度计/洛氏硬度计/维氏硬度计厂家精选 - 品牌推荐官
  • 2025 MBA必备!10个AI论文平台深度测评与推荐
  • 工业自动化怎么实现从执行指令到自主决策的升级?
  • 2025上海燃气加臭剂公司推荐榜:环保型燃气加臭剂/无硫加臭剂/天然气加臭剂/氢能加臭剂/丙烯酸酯无硫加臭剂/不含硫的加臭剂源头服务商精选 - 品牌推荐官
  • 基于51单片机的热水器控制系统
  • 【AI Agent爆发元年】2025年市场规模将达655亿,小白程序员的逆袭之路,错过再等十年!
  • 菜鸟无忧聚焦央国企求职:专业陪伴如何助力大学生职业能力成长 - 博客万
  • Jupyter Notebook保存检查点功能在PyTorch训练中的应用
  • 10422_基于Springboot的教务管理系统
  • AI工程化实战《八》:RAG + Agent 融合架构全解——打造能思考、会行动的企业大脑
  • 震惊!大模型Agent开发终极指南:从小白到大神的进阶之路,代码不会?看完秒变“Agent大神“!这波必须上车!
  • 开源大模型训练新趋势:结合PyTorch镜像与云端GPU资源
  • 2025~2026年进口激光切割自动化厂家哪家品质质量做的好?性价比高品牌推荐 - 品牌推荐大师
  • 2025年12月北京记账报税公司排名:电商企业合规财税服务首选将心财务 - 品牌智鉴榜
  • 2026年跨境业务GEO源码 支持多语言多币种适配 - 源码云科技
  • AI工程化实战《九》(终章):构建企业级 AI 中台——统一模型、数据、工具与治理
  • Python数据分析利器-Pandas 简介
  • 项目分享|SoulX-Podcast:打造具有方言与副语言多样性的真实长音频播客
  • Git克隆项目后如何快速运行?配合PyTorch-CUDA镜像联用
  • Markdown写文档 + Jupyter做实验:PyTorch镜像完美支持工作流
  • 国产DevOps平台选型:自主可控与研发效能的平衡之道
  • 2025年防火堵料加工厂哪家价格合理、服务周到排行榜 - 工业品牌热点
  • 麦弗逊悬架硬点布置程序:基于Matlab平台的计算与匹配
  • 2025西南、川渝最新防火玻璃厂家 TOP5 评测!四川、成都、西安等地区优质生产厂家及品牌权威榜单发布,守护建筑安全新高度 - 全局中转站
  • 四川高杆路灯哪家的产品节能环保?哪家制造厂技术强? - myqiye