gpt4 book ai didi

javascript - sessionStorage 未按预期工作

转载 作者:行者123 更新时间:2023-11-30 12:58:14 26 4
gpt4 key购买 nike

这是我的代码:

    sessionStorage.loggedIn = true;

if (sessionStorage.loggedIn) {
alert('true');
}
else {
alert('false');
}

很简单。关于 JavaScript 如何计算这些表达式,肯定有一些我不理解的小事。当我输入 sessionStorage.loggedIn = false 时,“false”警报正确显示。但是,当我将 sessionStorage.loggedIn 更改为 true 时,“false”警报仍然弹出,即使在清除 session 之后也是如此。这个表达我有什么不对的地方?看起来很简单,也许我只是需要另一双眼睛。

最佳答案

尝试将您的代码更改为

sessionStorage.setItem('loggedIn',JSON.stringify(true));

if (JSON.parse(sessionStorage.getItem('loggedIn'))) {
alert('true');
}
else {
alert('false');
}

并且它应该在所有主要浏览器上一致地工作。

setItem/getItem 方法的接口(interface)是编写规范的方式,因此采用这种方式比使用分配属性的快捷方式更安全。此外,sessionStoragelocalStorage 一样是一种基于文本的存储机制,并不意味着存储对象,因此您需要使用 JSON.parse 包装调用和 JSON.stringify 以获得全面的预期结果。

请注意 JSON.parse 并不总是能很好地处理未定义/空值,因此首先进行一些类型检查可能是明智的。

You can read the spec for the storage interface here

关于javascript - sessionStorage 未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18319686/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com