jquery - 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 中返回为字符串时,我能知道为什么吗?
解决方案
通常SessionStorage,将数据视为字符串,无论您保存在其中的哪种数据/类型都没有关系,最好使用JSONparse
和stringify
方法来serialize
处理deserialize
数据,
请看下面
var value = sessionStorage.getItem("loadCase");
console.log(JSON.parse(value) === true); // true
推荐阅读
- angular - Angular 允许用户发布带有作为路由链接交互的链接的 html 文本
- c# - C# Selenium Chrome 端口问题?
- video - 如何修复这个损坏的 Camtasia 录制的视频文件?
- vue.js - 将 vuex 存储的一部分作为操作的有效负载分派是否正确?
- c# - 双重分组以有效地查找重复项
- java - 检查耳机是否连接到不同的 API 级别
- php - 您好,目前我正在尝试隐藏名为“游戏”的子文件夹的 php 扩展名
- c++ - 构建 Boost 与包含标题
- python - python函数不返回任何东西
- java - 我无法在 Java 中访问另一个类的变量值