
于是通过AI学习了一下,先将其梳理整理如下,再加深下印象。
一、 sessionStorage中枢宗旨
sessionStorage是HTML5新增的浏览器端会话级腹地存储机制,有意用于在刻下浏览器标签页的「会话周期」内存储键值对格式的数据。
「会话周期」:从开放标签页到关闭标签页的通盘进程(刷新页面、跳转同域名页面不会废弃数据);
中枢特质:关闭标签页/浏览器后,存储的数据会自动永久废弃,不会像 localStorage 那样合手久化到腹地。
{jz:field.toptypename/}要道性格(生手必知)
性格
评释
存储边界
仅刻下标签页灵验,同域名的不同标签页不分享(比如开放两个百度标签页,各自的 sessionStorage 孤独)
存储格式
键(key)和值(value)王人必须是字符串(非字符串会自动转为字符串,比如数字→字符串)
存储大小
约 5MB(不同浏览器略有各异,繁密于 Cookie 的 4KB)
同源政策
仅「同公约(http/https)+ 同域名 + 同端口」的页面能访谒(比如a.com和b.com无法互通)
数据合手久化
非合手久化,会话截至(关标签页)即清空,无法手动斥地逾期时候

二、sessionStorage 常用使用技能
sessionStorage 是 window 对象的属性,凤凰彩票官方网站可径直通过 window.sessionStorage 调用(一样不详window),中枢技能有 5 个:增、查、改、删、清空,以下是竣工代码示例:
//1、存储数据(增/改):setItem(key, value)
//把稳:value要是是对象/数组,需先转成JSON字符串
sessionStorage.setItem("rowIndex", 10); // 数字10会自动转为字符串"10"
sessionStorage.setItem("userName", "张三"); // 字符串径直存储
//存储对象(要道:需用JSON.stringify转字符串)
var userInfo = { id: 1, name: "李四", age: 25 };
sessionStorage.setItem("userInfo", JSON.stringify(userInfo));
//2、赢得数据(查):getItem(key)
var rowIndex = sessionStorage.getItem("rowIndex"); // 取到"10"(字符串),需转数字可写:Number(rowIndex)
var userName = sessionStorage.getItem("userName"); // 取到"张三"
//赢得对象(要道:需用JSON.parse转回对象)
var savedUserInfo = JSON.parse(sessionStorage.getItem("userInfo"));
console.log(savedUserInfo.name); // 输出:李四
//3、删除单个数据(删):removeItem(key)
sessionStorage.removeItem("rowIndex"); // 删除key为"rowIndex"的数据
//4、清空所稀罕据:clear
sessionStorage.clear; // 清空刻下标签页的扫数sessionStorage数据
//5、赢得某个key的索引(较少用):key(index)
sessionStorage.setItem("a", "1");
sessionStorage.setItem("b", "2");
var firstKey = sessionStorage.key(0); // 取到第一个key:"a"

常见坑点评释
存储非字符串(如对象、数组)时,径直存会酿成"[object Object]"(无法领略),必须用JSON.stringify转字符串;
赢得数据时,数字类型会酿成字符串,需手动用Number/parseInt转回数字;
若赢得不存在的key,getItem 会复返null,需作念判空处分(比如:var data = sessionStorage.getItem("key")