Javascript 无法使用HTML5 Web存储保存布尔值的解决方法

Javascript 无法使用HTML5 Web存储保存布尔值的解决方法,javascript,html,web-storage,craftyjs,Javascript,Html,Web Storage,Craftyjs,我目前正在用Javascript,或者更准确地说,CraftyJS制作一款马里奥风格的游戏 我已经把它作为参考, 并了解如何保存用户输入的值。 但我想完成的是自动保存某些布尔值(这就是所谓的布尔值吗?),或者当玩家按下保存按钮或其他什么时 例如,我有一个名为dungeon1的副本,我创建了一个变量来表示副本是否已完成 这是var dungeon1=false默认情况下 但是当玩家完成地下城1时,它会变为var dungeon1=true,, 从而在世界地图上增加了新的内容,比如地下城2的入口(这

我目前正在用Javascript,或者更准确地说,CraftyJS制作一款马里奥风格的游戏

我已经把它作为参考, 并了解如何保存用户输入的值。 但我想完成的是自动保存某些布尔值(这就是所谓的布尔值吗?),或者当玩家按下保存按钮或其他什么时

例如,我有一个名为dungeon1的副本,我创建了一个变量来表示副本是否已完成

这是
var dungeon1=false默认情况下

但是当玩家完成地下城1时,它会变为
var dungeon1=true,,
从而在世界地图上增加了新的内容,比如地下城2的入口(这很好)

我想保存的是
var dungeon1=true语句,这样当用户再次打开游戏时,完成的地下城将被加载,相应的解锁将正确显示。我该怎么做?

有没有办法说,创建一个名为
save.js
的保存管理文件,然后在布尔值变为
true
后存储上面的布尔值?

您只需存储所需布尔值的字符串版本即可

因此,存储“true”和“false”,而不是像if(变量)那样进行检查,您必须以if(变量=“true”)的形式进行检查。这有点简陋,但您可以看到它并没有真正增加代码的复杂性

如果这种类型的If检查冒犯了您的敏感度,那么在您从localStorage“获取”它的代码中,您可以将其重新转换为布尔值

var bool = (localStorage.getItem("myItem") === "true")
另外,你可以用布尔值设置项目。。。它只会将它们强制转换为string:D,因为如果它们还不是字符串,它会调用toString()来存储它们

因此,您可以:


在此处输入代码
localStorage.setItem(“myItem”,true)

?@JustinWood是的,我想在HTML5 web存储中使用本地存储方法。然后阅读我链接的文档。@JustinWood哦,我不知道它是链接。显然,这个方法目前只接受字符串,这意味着存储布尔值是不可能的。有解决办法吗?