我遇到了问题localStorage,我localStorage没有通过数字 9。我能做些什么来解决这个问题?我尝试了很多东西,但没有任何效果。我正在这样做:if (typeof(Storage) !== "undefined") { if (sessionStorage.pontos) { sessionStorage.pontos = Number(sessionStorage.pontos) + 1; } else { sessionStorage.pontos = 1; } document.getElementById('pontos').innerHTML = "PONTOS: " + sessionStorage.pontos;} else { document.getElementById('pontos').innerHTML = "ERROR";}if (typeof(Storage) !== "undefined") { if (sessionStorage.pontos > localStorage.Recpontos) { localStorage.Recpontos = Number(localStorage.Recpontos) + 1; }}单击按钮时会发生此操作。然后我转到浏览器控制台,什么也没有,在控制台中显示:> localStorage.Recpontos "9"> sessionStorage.pontos "10"并且不会发生这种情况,因为当sessionStorage.pontos大于localStorage.Recpontos时,两者处于相同的值。并且9只有一个地方,并且10有两个,我认为这就是问题所在。我预计localStorage.Recpontos当sessionStorage.point大于它时会加 1 。
1 回答

慕妹3242003
TA贡献1824条经验 获得超6个赞
您需要将值作为数字而不是字符串进行比较。
if (Number(sessionStorage.pontos) > Number(localStorage.Recpontos)) {
localStorage.Recpontos = Number(localStorage.Recpontos) + 1;
}
如果将它们作为字符串进行比较,它会执行字典比较,并且"10" < "9"因为"1" < "9".
添加回答
举报
0/150
提交
取消