Javascript 从本地存储初始化变量

Javascript 从本地存储初始化变量,javascript,html,Javascript,Html,我正在创建一个游戏,在这个游戏中,你点击一个土豆,你就可以用土豆来买助推器(比如cookieclicker)。我使用localStorage.setItem()和localStorage.getItem()来保存播放器拥有的土豆数量,这段代码运行良好: var potatoes = 0; function addPotato(amount) { potatoes += amount; localStorage.setItem('potatoes', potatoes);

我正在创建一个游戏,在这个游戏中,你点击一个土豆,你就可以用土豆来买助推器(比如cookieclicker)。我使用localStorage.setItem()和localStorage.getItem()来保存播放器拥有的土豆数量,这段代码运行良好:

var potatoes = 0;

function addPotato(amount)
{
    potatoes += amount;
    localStorage.setItem('potatoes', potatoes);

    if ( localStorage.getItem('potatoes') ) {
        document.getElementById("potatoes").innerHTML = "<b>Potatoes: </b>" + localStorage.getItem('potatoes'); 
    }
}

但由于某种奇怪的原因,这使得土豆的数量被添加到段落中,而不是覆盖它,因此如果我点击土豆5次而不是说5次,它会显示11111。是的,我知道播放器可以在本地更改变量,但这并不重要。

本地存储将所有内容存储为字符串。ParseInt it

从localStorage获取项目时,它是一个字符串-对该值执行ParseInt以将其转换回整数:

potatoes = parseInt(localStorage.getItem('potatoes'), 10);

谢谢,我可以问一下10是做什么的吗?它把数字解释成十进制。你可以用8表示八进制,2表示二进制等等on@Miro如果您不知道,那么末尾的基数
10
很重要,因此Javascript知道它是十进制的,而不是八进制的!好的,在7分钟前我不能接受你的答案,但是谢谢,真的很有用。
potatoes = parseInt(localStorage.getItem('potatoes'), 10);