Javascript 创建本地存储分数
我正在尝试将玩家分数存储在本地存储中,代码如下:Javascript 创建本地存储分数,javascript,html,Javascript,Html,我正在尝试将玩家分数存储在本地存储中,代码如下: <script> window.onload = checkScore(); function checkScore() { score = localStorage.getItem("score"); if (score == null || score == "null") { score = a; localStorage.setItem("score", score);
<script>
window.onload = checkScore();
function checkScore() {
score = localStorage.getItem("score");
if (score == null || score == "null") {
score = a;
localStorage.setItem("score", score);
} else {
a += score;
}
}
</script>
window.onload=checkScore();
函数checkScore(){
score=localStorage.getItem(“score”);
如果(分数==零| |分数==零){
分数=a;
setItem(“分数”,分数);
}否则{
a+=分数;
}
}
a
是我游戏中积分的变量,顺便说一句。这里有几个问题:
score
视为一个数字,您需要根据您的用例通过score=number(score)
、score=+score
或parseInt(score,10)
进行转换分数添加到a
;我想你应该在分数中加上a
分数
,如果它一开始就在那里,除非你将它添加为新的load
事件在页面加载过程的后期发生,等待加载所有图像和其他外部资源。这可能太晚了load
事件,window.onload=checkScore()代码>不起作用。调用checkScore
并将其返回值分配给window.onload
,就像x=foo()
调用foo
并将其返回值分配给x
一样。您需要window.onload=checkScore代码>(无()
)
分数而成为牺牲品(除非您在未显示的地方声明)
脚本标记中:
function checkScore(){
var score = +(localStorage.getItem("score") || 0); // Easier way to initialize it
score += a;
localStorage.setItem("score", score);
}
checkScore();
我不确定您是否想更新a
(我知道问题中有代码,但是…)。我不知道a
从哪里来,因此无法帮助您确定是否正确使用了它。var a=0;
var a = 0;
function checkScore(){
var score = (localStorage.getItem("score") || 0); // Easier way to initialize it
if (score >= 1) {
alert("hi");
score += a;
a += score;
document.getElementById("2").innerHTML = a;
localStorage.setItem("score", score);
}
if (score <= 0) {
score += a;
localStorage.setItem("score", score);
}
}
函数checkScore(){
var score=(localStorage.getItem(“score”)| | 0);//初始化它的更简单方法
如果(分数>=1){
警报(“hi”);
分数+=a;
a+=分数;
document.getElementById(“2”).innerHTML=a;
setItem(“分数”,分数);
}
如果(评分)问题是什么?什么不起作用?我不知道为什么它不起作用。它只是说评分不起作用。你能提供更多细节吗?从什么起作用/不起作用开始?我认为你应该显示其余的javascript(相关的/相关的)。我还建议您检查浏览器控制台是否有错误。如果这是完整的javascript源代码,您需要声明变量提示:var score=
var a=0;函数checkScore(){var score=(localStorage.getItem(“score”)| | 0)//如果(score>=1){alert(“hi”),则初始化它更简单;score+=a;a+=score;document.getElementById(“2”).innerHTML=a;localStorage.setItem(“score”,score);}如果(score)仍然不起作用,请提供更多帮助这是我的新代码