首页 > 解决方案 > jquery sessionStorage 布尔值意外更改为字符串

问题描述

sessionStorage.setItem("loadCase", false);

if (sessionStorage.getItem("loadCase")){
alert("Hello!")
} else {
alert("Bye")
}

我期待“再见”,但得到“你好!”

但是,当我更改条件时,它可以工作

sessionStorage.setItem("loadCase", false);

if (sessionStorage.getItem("loadCase")=="true"){
alert("Hello!")
} else {
alert("Bye")
}

当我将一个项目设置为布尔值但从 sessionStorage 中返回为字符串时,我能知道为什么吗?

标签: jquerysession-storage

解决方案


通常SessionStorage,将数据视为字符串,无论您保存在其中的哪种数据/类型都没有关系,最好使用JSONparsestringify方法来serialize处理deserialize数据,

请看下面

var value = sessionStorage.getItem("loadCase");
console.log(JSON.parse(value) === true); // true

推荐阅读