首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LocalStorage没有传递数字9

LocalStorage没有传递数字9
EN

Stack Overflow用户
提问于 2019-05-17 04:16:37
回答 1查看 49关注 0票数 0

我的localStorage有问题,我的localStorage没有通过数字9。我能做些什么来解决这个问题?

我试过很多方法,但都不管用。

我正在这样做:

代码语言:javascript
复制
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;
  }
}

此操作在单击按钮时发生。然后我转到浏览器控制台,控制台中什么也没有显示:

代码语言:javascript
复制
> localStorage.Recpontos
 "9"

> sessionStorage.pontos
 "10"

这是不会发生的,因为当sessionStorage.pontos大于localStorage.Recpontos时,两者的值是相同的。9只有一个位置,而10有两个位置,我认为这就是问题所在。

我预计当sessionStorage.point大于它时,localStorage.Recpontos会加1。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-17 04:41:36

您需要将值作为数字进行比较,而不是字符串。

代码语言:javascript
复制
  if (Number(sessionStorage.pontos) > Number(localStorage.Recpontos)) {
    localStorage.Recpontos = Number(localStorage.Recpontos) + 1;
  }

如果您将它们作为字符串进行比较,它将执行字典顺序的比较,而"10" < "9"是因为"1" < "9"

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56175994

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档