LocalStorage 没有通过数字 9

我遇到了问题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 。


翻翻过去那场雪
浏览 120回答 1
1回答

慕妹3242003

您需要将值作为数字而不是字符串进行比较。&nbsp; if (Number(sessionStorage.pontos) > Number(localStorage.Recpontos)) {&nbsp; &nbsp; localStorage.Recpontos = Number(localStorage.Recpontos) + 1;&nbsp; }如果将它们作为字符串进行比较,它会执行字典比较,并且"10" < "9"因为"1" < "9".
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript