我的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有两个位置,我认为这就是问题所在。
我预计当sessionStorage.point大于它时,localStorage.Recpontos会加1。
发布于 2019-05-17 04:41:36
您需要将值作为数字进行比较,而不是字符串。
if (Number(sessionStorage.pontos) > Number(localStorage.Recpontos)) {
localStorage.Recpontos = Number(localStorage.Recpontos) + 1;
}如果您将它们作为字符串进行比较,它将执行字典顺序的比较,而"10" < "9"是因为"1" < "9"。
https://stackoverflow.com/questions/56175994
复制相似问题