javascript 如何让 cookie 转换为数字而不是字符串
How to make a cookie convert to a number instead of a string in javascript
我正在创建一个 cookie Clicker 网站,每当有人单击“保存”按钮时,我希望将他们的分数保存在本地存储中。到目前为止,我的代码是:
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!")
}
}
这种方法可行,但如果分数变量发生变化,代码会尝试将字符串加 1,因为分数已保存为字符串。例如,如果我得到 5 分并且我挽救了我的比赛,如果我得到另一分,我将得到 51 分。请尽快帮忙!我不确定您是否需要改用 cookie。谢谢!
您可以尝试 score = parseInt(score) + 1
。这样当增加分数时,它总是被解析为一个整数。
本地存储将值存储为字符串。在您的情况下,您可以将字符串转换为数字,如:
if (localStorage.getItem("score") !== null) {
score = Number(localStorage.getItem("score"));
}
我正在创建一个 cookie Clicker 网站,每当有人单击“保存”按钮时,我希望将他们的分数保存在本地存储中。到目前为止,我的代码是:
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!")
}
}
这种方法可行,但如果分数变量发生变化,代码会尝试将字符串加 1,因为分数已保存为字符串。例如,如果我得到 5 分并且我挽救了我的比赛,如果我得到另一分,我将得到 51 分。请尽快帮忙!我不确定您是否需要改用 cookie。谢谢!
您可以尝试 score = parseInt(score) + 1
。这样当增加分数时,它总是被解析为一个整数。
本地存储将值存储为字符串。在您的情况下,您可以将字符串转换为数字,如:
if (localStorage.getItem("score") !== null) {
score = Number(localStorage.getItem("score"));
}