Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript HTML5本地存储与我的变量_Javascript_Html_Local Storage_Web Storage - Fatal编程技术网

Javascript HTML5本地存储与我的变量

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

我不熟悉HTML和Javascript,为了学习它,我正在制作一个增量游戏(类似于CookieClicker或CivClicker)

我正在尝试保存和加载进度,我可以很好地保存它,但是当我加载它时,它会正确地加载所有变量,但是当我点击一个按钮来增加一个变量时,它会做一些奇怪的事情,这很难解释,我会发布代码,以便您可以进一步查看它

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)也是。