Javascript 在jquery中递增和存储变量

Javascript 在jquery中递增和存储变量,javascript,jquery,html,Javascript,Jquery,Html,由于标题可能会泄露,我试图在页面刷新时增加一个分值。我不完全确定我的设置是否正确,所以有一点被注释掉了。不是寻找直截了当的答案,只是一些指向我需要的地方的指针和建议 var score = 0; //localStorage.setItem("score", score); var rounds; var ans; var img; img = document.getElementsByClassName("image")[0].id; $(".answer").click(function(

由于标题可能会泄露,我试图在页面刷新时增加一个分值。我不完全确定我的设置是否正确,所以有一点被注释掉了。不是寻找直截了当的答案,只是一些指向我需要的地方的指针和建议

var score = 0;
//localStorage.setItem("score", score);
var rounds;
var ans;
var img;
img = document.getElementsByClassName("image")[0].id;
$(".answer").click(function() {
ans = $(this).attr('id');
if (ans === img) {
   //score++;
   //score = localStorage.getItem("score", score);
   score++;
   //localStorage.setItem("score", score);
   //rounds++;
   alert('right answer');
   location.reload();
} else {
   //score = 0;
   //rounds++;
   alert('wrong answer');
  //location.reload();
}
});
//var res = localStorage.getItem("score", score)
//console.log(res);

仅仅在query上玩了几天,所以还是盲目的感觉。任何帮助都会很好。脚本的其余部分可以在这里找到

我认为使用
localStorage
是正确的。这很容易掌握,而且您已经开始实现一些代码。但是您要做的第一件事是通过调用
localStorage.getItem('score')初始化score变量
getItem
没有第二个参数

然后你需要决定分数是在递增之前还是之后保存?根据答案,您可以调用
localStorage.setItem('score',score)


我认为您使用
localStorage
是正确的。这很容易掌握,而且您已经开始实现一些代码。但是您要做的第一件事是通过调用
localStorage.getItem('score')初始化score变量
getItem
没有第二个参数

然后你需要决定分数是在递增之前还是之后保存?根据答案,您可以调用
localStorage.setItem('score',score)


要在页面刷新时保持这种状态,您可以将代码存储在后端并在以后提取,也可以将其存储在浏览器(即cookie)中。我推荐后者。如果你想在不使用数据库/写入文件的情况下跨页面加载存储一个值,你需要学习创建/读取cookiesAs@harrison说你需要将它存储在某个地方,因为JS中的变量在页面刷新后无法保存。您的
localStorage
代码中有一些代码。这有什么问题吗?您在第一行将
score
设置为
0
,然后存储它(注释行)。相反,您应该首先检查该值是否已存储,如果已存储,则将其应用于
score
变量。如下所示:
var score=parseInt(localStorage.getItem(“score”),10)| 0。正如@harrison所说,您的其余代码在meAs看来很好,您可以将其存储在服务器端。如果将变量存储在Jquery中,则在用户关闭窗口或导航离开时,该变量将被删除,如果您使用cookie,它只会增加访问页面的同一用户的访问量,如果他删除cookie,它将被删除要在整个页面上保持此刷新,您可以将代码存储在后端,稍后再提取代码,也可以将其存储在浏览器(即cookie)中。我推荐后者。如果你想在不使用数据库/写入文件的情况下跨页面加载存储一个值,你需要学习创建/读取cookiesAs@harrison说你需要将它存储在某个地方,因为JS中的变量在页面刷新后无法保存。您的
localStorage
代码中有一些代码。这有什么问题吗?您在第一行将
score
设置为
0
,然后存储它(注释行)。相反,您应该首先检查该值是否已存储,如果已存储,则将其应用于
score
变量。如下所示:
var score=parseInt(localStorage.getItem(“score”),10)| 0。正如@harrison所说,您的其余代码在meAs看来很好,您可以将其存储在服务器端。如果您在Jquery中存储变量,则当用户关闭窗口或导航离开时,该变量将被删除;如果您使用cookie,则该变量只会增加访问页面的同一用户的数量,如果用户删除cookie,该变量将被删除