sessionStorage 用法集合

本文详细介绍了sessionStorage的使用方法,包括setItem、getItem、removeItem和clear操作。sessionStorage数据在页面会话结束后清除,不同标签页间不共享。在存储和读取复杂对象时,需借助JSON.stringify和JSON.parse进行转换。文章还提供了存储和取出数组及对象的示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

sessionStorage可以使用setItem设置、getItem获取、removeItem删除、clear清空。

MDN解释
sessionStorage 属性允许你访问一个 session Storage 对象。它与 localStorage 相似,不同之处在于 localStorage 里面存储的数据没有过期时间设置,而存储在 sessionStorage 里面的数据在页面会话结束时会被清除。页面会话在浏览器打开期间一直保持,并且重新加载或恢复页面仍会保持原来的页面会话。**在新标签或窗口打开一个页面时会在顶级浏览上下文中初始化一个新的会话,**这点和 session cookies 的运行方式不同。

通过sessionStorage保存的数据保存在浏览器中;所以创建一个sessionStorage用过后在某些情况需要清除sessionStorage;

sessionStorage 方法针对一个 session 进行数据存储。当用户关闭浏览器窗口后,数据会被删除。
 

  1. 不同tab之间就算相同url,sessionStorage也是不会共享的。sessionStorage只存在于当前会话中。
  2. 使用window.open或者点击链接跳转的页面,新页面的sessionStorage会拷贝老页面的。但两者之间并无关联,还是两个会话。

// 存储

sessionStorage.setItem("lastname", "Smith");
// 检索

document.getElementById("result").innerHTML = sessionStorage.getItem("lastname");

//将指定的键名(key)从 sessionStorage 对象中移除。

sessionStorage.removeItem(key) 

//清除 sessionStorage 对象所有的项

sessionStorage.clear() 

sessionStorage不可以直接存储数组对象,需要先把数组对象转化为JSON字符串,取值时拿到字符串再去转成数组。 

可以在存储时使用JSON.stringify()将对象转为字符串,而在取缓存时,配合JSON.parse()转回对象即可。

var obj= {
    arr:[1,2,3,4,5,6,7,8,9]
};
 
// 存储值:将对象转换为Json字符串
 
sessionStorage.setItem('setItem', JSON.stringify(obj));
 
// 取值时:把获取到的Json字符串转换回对象
 
var getItem= JSON.parse(sessionStorage.getItem('setItem'));
 
console.log(getItem); // =>  {arr:[1,2,3,4,5,6,7,8,9]};
 

var userEntity = {

    name: 'tom',

    age: 22

};

// 存储值:将对象转换为Json字符串

sessionStorage.setItem('user', JSON.stringify(userEntity));

// 取值时:把获取到的Json字符串转换回对象

var userJsonStr = sessionStorage.getItem('user');

userEntity = JSON.parse(userJsonStr);

console.log(userEntity.name); //  tom
 

整理的内容,部分引用内容未及时保存网址,如涉及版权,请联系删除 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值