Javascript HTML5本地存储与我的变量
我不熟悉HTML和Javascript,为了学习它,我正在制作一个增量游戏(类似于CookieClicker或CivClicker) 我正在尝试保存和加载进度,我可以很好地保存它,但是当我加载它时,它会正确地加载所有变量,但是当我点击一个按钮来增加一个变量时,它会做一些奇怪的事情,这很难解释,我会发布代码,以便您可以进一步查看它Javascript HTML5本地存储与我的变量,javascript,html,local-storage,web-storage,Javascript,Html,Local Storage,Web Storage,我不熟悉HTML和Javascript,为了学习它,我正在制作一个增量游戏(类似于CookieClicker或CivClicker) 我正在尝试保存和加载进度,我可以很好地保存它,但是当我加载它时,它会正确地加载所有变量,但是当我点击一个按钮来增加一个变量时,它会做一些奇怪的事情,这很难解释,我会发布代码,以便您可以进一步查看它 function loadProgress() { if (typeof (Storage) !== "undefined") { progr
function loadProgress() {
if (typeof (Storage) !== "undefined") {
progress = localStorage.progress;
speed = localStorage.speed;
quality = localStorage.quality;
isDone = localStorage.isDone;
totalMoney = localStorage.totalMoney;
speedCost = localStorage.speedCost;
gamesSold = localStorage.gamesSold;
autoclick = localStorage.autoclick;
autoclickCost = localStorage.autoclickCost;
currentBugs = localStorage.currentBugs;
refreshDisplay();
} else {
console.log("LocalStore not appliable.")
}
}
按“设计”直到达到100%,然后单击“出售游戏”。然后只需按Save Progress,然后加载Progress,然后再次单击design and sell game,您将看到数字奇怪地增加,这完全是意料之中的
“ShowMeTheMoney”将在控制台中显示变量,以便您可以验证变量是否正确存储
我不知道为什么会发生这种情况,所以如果有人能帮上忙,那就太棒了。本地存储又称Web存储,它将值存储为字符串,因此在检索值时需要将值转换/转换为数字,否则变量将保留为字符串,并且您将看到串接而不是递增的值。例如,
1+1
变成11
而不是2
有许多方法可以转换为数字,其中一种方法是+
方法:
progress = +localStorage.progress;
speed = +localStorage.speed;
quality = +localStorage.quality;
您可以使用
progress=Number(localStorage.progress)代码>也是。