如何将 localStorage 值设置为 false?

Aka*_*kam 0 javascript boolean local-storage

我想添加falselocalStorage['flag'] = false尝试过的内容:

localStorage['flag'] = false;
localStorage['flag'] = 0;
Run Code Online (Sandbox Code Playgroud)

但当我检查时

if(!localStorage['flag']){
  //this will never happen
}
/**or**/
if(localStorage['flag']){
  //this will happen always
}
Run Code Online (Sandbox Code Playgroud)

小提琴示例: https: //jsfiddle.net/qqew0zzf/

Irk*_*der 7

您可以使用setItemgetItem来存储您的标志。请记住,这将在使用后返回“false” getItem,这就是您最初尝试失败的原因(字符串“false”不是错误值)。JSON 通常用于在本地存储中保存和检索对象。

localStorage.setItem('flag', false);
var flag = localStorage.getItem('flag');
//flag is "false"
Run Code Online (Sandbox Code Playgroud)

使用 JSON:

localStorage.setItem('flag', JSON.stringify(false));
var flag = JSON.parse(localStorage.getItem('flag'));
//flag is the boolean false
Run Code Online (Sandbox Code Playgroud)