JavaScript问题:无法通过alert显示sessionStorage存储的变量值
嘿,我来帮你揪出问题所在啦!
你代码里的核心错误是获取sessionStorage变量时用错了方法——你写了sessionStorage.setItem('corrects'),但获取值应该用getItem,而不是setItem!
具体问题拆解:
sessionStorage.setItem(key, value)是用来存储键值对的方法,必须传入两个参数:键名和对应的值。你只传了一个键名'corrects',这个方法本身会返回undefined,所以你把corrects赋值成了undefined,alert自然显示不出7。- 要读取sessionStorage里的内容,得用
sessionStorage.getItem(key),它会返回对应键存储的值。
修正后的代码:
var corrects = 7; // 存储变量到sessionStorage,这部分是对的 sessionStorage.setItem('corrects', corrects); // 改用getItem获取存储的值 corrects = sessionStorage.getItem('corrects'); // 额外提醒:sessionStorage存储的都是字符串,如果需要数字类型可以转换 // corrects = Number(sessionStorage.getItem('corrects')); alert("corrects:" + corrects);
另外补充个小知识点:sessionStorage里的所有数据都会被自动转成字符串存储,所以如果之后你需要用这个值做加减乘除之类的数字运算,记得用Number()或者parseInt()把它转成数字类型哦~
内容的提问来源于stack exchange,提问作者ret
相关产品推荐
相关产品推荐

