【问题标题】:How to make a cookie convert to a number instead of a string in javascript [duplicate]如何使cookie转换为数字而不是javascript中的字符串[重复]
【发布时间】:2022-01-16 10:02:09
【问题描述】:

我正在创建一个 cookie 点击器网站,每当有人点击“保存”按钮时,我希望他们的分数保存在本地存储中。到目前为止,我的代码是:

let score = 0;

function addpoint() {
  score += 1;
}

 if (localStorage.getItem("score") !== null) {
    score = localStorage.getItem("score");
}
 function savegame() {
   localStorage.setItem("score", score);
   alert("Score has been saved successfully!")
 }
}

这种方法可行,但如果 score 变量发生变化,代码会尝试将 1 添加到字符串,因为分数是保存在字符串中的。例如,如果我得到 5 分并挽救了比赛,如果我再得到一分,我将得到 51 分。请尽快帮忙!我不确定您是否需要改用 cookie。谢谢!

【问题讨论】:

  • cookie 和 localStorage 都将值存储为字符串。您可以根据类型转换这些字符串以操作它们....数组、数字、对象、布尔值等。在您的情况下,在进行任何数学运算之前转换为数字。研究如何将字符串转换为数字是一个非常简单的网络搜索

标签: javascript variables save local-storage


【解决方案1】:

你可以试试score = parseInt(score) + 1。这样在增加分数时,总是被解析为整数。

MDN - ParseInt()

【讨论】:

    【解决方案2】:

    本地存储将值存储为字符串。在您的情况下,您可以将字符串转换为数字,例如:

    if (localStorage.getItem("score") !== null) {
        score = Number(localStorage.getItem("score"));
    }
    

    【讨论】:

    • 感谢迪帕克!祝你有美好的一天!
    猜你喜欢
    • 1970-01-01
    • 2019-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-18
    • 2011-01-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多