Qua*_*cht 3 javascript local-storage sessionstorage
我使用会话存储来设置一个可以采用数值或null
. 我注意到无论我输入什么,该字段都存储为字符串。有没有一种很好的方法可以将我的存储值转换回null
?
例如,我想检查我的代码,如下所示:
if (!sessionStorage.getItem('key')) {
// do something
}
Run Code Online (Sandbox Code Playgroud)
进行该检查的最佳方法是什么?显而易见的方法是
if (!sessionStorage.getItem('key') !== "null") {
// do something
}
Run Code Online (Sandbox Code Playgroud)
我想知道是否有替代方案。
你可以解析它
JSON.parse('null') // null
JSON.parse('1') // 1
Run Code Online (Sandbox Code Playgroud)
所以
var val = sessionStorage.getItem('key');
val = JSON.parse(val);
Run Code Online (Sandbox Code Playgroud)
接近演员表
替代方案是:
var val = sessionStorage.getItem('key');
val = val*1 || null;
Run Code Online (Sandbox Code Playgroud)
我只想要一些评估结果为 false 的东西
您可以使用空字符串来标记未设置的值:
sessionStorage.setItem('key','');
Run Code Online (Sandbox Code Playgroud)
这样您就可以重新使用当前的支票:
if (!sessionStorage.getItem('key')) {
// do something
}
Run Code Online (Sandbox Code Playgroud)
也就是说,您提到您有一个下拉菜单来选择值,这就是您需要这样一个值的原因,但我认为涉及删除空值上的项目的解决方案会更好。这是一个工作演示,以及用于制作它的代码:
sessionStorage.setItem('key','');
Run Code Online (Sandbox Code Playgroud)
if (!sessionStorage.getItem('key')) {
// do something
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6163 次 |
最近记录: |