sessionStorage.length 是标准只读属性,返回当前会话中键值对总数,初始为0,增删数据实时更新;相比 Object.keys(sessionStorage).length,它更兼容、稳定、轻量。

SessionStorage 本身没有直接提供获取存储条数的属性或方法,但可以通过 length 属性轻松获得当前会话中键值对的数量。
使用 sessionStorage.length 获取条数
sessionStorage.length 是一个只读属性,返回当前 session 中已存储的键值对总数。它不区分键名或值类型,只统计非空的键值对数量。
- 如果尚未存入任何数据,
sessionStorage.length返回 0 - 每调用一次
sessionStorage.setItem(key, value)(且 key 不重复),长度加 1 - 调用
sessionStorage.removeItem(key)或sessionStorage.clear()后,长度会相应减少或归零
注意:length 不代表“所有键名数组”的长度
sessionStorage.length 和 Object.keys(sessionStorage).length 在大多数情况下结果一致,但后者存在兼容性与行为风险:
- 部分旧版浏览器(如 IE)中,
sessionStorage不是标准对象,Object.keys()可能抛错或返回空数组 - 某些扩展或安全策略可能拦截原型访问,导致
Object.keys(sessionStorage)不可靠 -
sessionStorage.length是规范定义的标准属性,更轻量、更稳定
实际使用示例
在控制台或脚本中可这样检查:
立即学习“Java免费学习笔记(深入)”;
console.log('当前 sessionStorage 条数:', sessionStorage.length); // 输出类似:2
如果你想同时查看有哪些键,可以结合 key() 方法遍历:
for (let i = 0; i < sessionStorage.length; i++) {
const key = sessionStorage.key(i);
console.log(`键: ${key}, 值: ${sessionStorage.getItem(key)}`);
}


















