sessionstorage 没有 key() 方法,但提供 key(index) 方法按索引(从0开始)获取键名;索引越界返回 null,配合 length 可遍历所有键名。

SessionStorage 本身没有直接叫 key() 的方法,但提供了一个 key(index) 方法,用来按索引获取当前存储中第 n 个键名。
key(index) 方法的作用和用法
这个方法接受一个数字索引(从 0 开始),返回对应位置的键名(key name)。如果索引超出范围(比如负数、大于等于键总数),会返回 null。
- 索引从 0 开始:第一个键是
sessionStorage.key(0) - 可用
sessionStorage.length获取当前键的总数量 - 适合遍历所有键名,或动态访问某个位置的键
如何用 key(index) 遍历所有键名
结合 length 属性,可以循环取出全部键名:
for (let i = 0; i <p>这样就能逐个访问每个键值对,避免硬编码键名。</p><div class="aritcle_card flexRow artxards"> <div class="artcardd flexRow"> <a class="aritcle_card_img" rel="nofollow" href="/xiazai/gongju/2530" title="Java JDK 25"><img src="https://img.php.cn/upload/manual/001/221/864/6a6091217fc2f681.png" alt="Java JDK 25" onerror="this.onerror='';this.src='/static/lhimages/moren/morentu.png'" ></a> <div class="aritcle_card_info flexColumn"> <a rel="nofollow" href="/xiazai/gongju/2530" title="Java JDK 25" class="overflowclass">Java JDK 25</a> <p class="overflowclass">Java JDK 25 来自 OpenJDK 官方归档,版本为 JDK 25,本条下载地址已指向官方 Windows x64 zip 安装包直链,适合调试旧项目或兼容旧版 Java 运行环境。</p> </div> <a rel="nofollow" href="/xiazai/gongju/2530" title="Java JDK 25" class="aritcle_card_btn flexRow flexcenter"><b></b><span>下载</span> </a> </div> </div> <h3>常见注意事项</h3> <p>这个方法只读,不修改存储内容;它也不区分键是否由当前页面设置——只要在当前会话的 <a style="color:#f60; text-decoration:underline;" title="session" href="https://m.php.cn/zt/17098.html" target="_blank">session</a>Storage 中存在,就可被索引到。</p>
- 页面刷新后,sessionStorage 保留,索引顺序不变
- 不同 tab 或窗口的 sessionStorage 是隔离的,互不影响
- 如果清空过(
clear())或删除过某些项,索引会重新排列
替代方式:获取所有键名数组
原生 API 不提供直接获取键名数组的方法,但可以用 Object.keys() 配合 Object.assign() 模拟(注意:这不是标准做法,仅作参考):
const keys = Array.from({ length: sessionStorage.length }, (_, i) => sessionStorage.key(i));
更稳妥的方式还是用 for 循环配合 key(i)。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










