LocalStorage не проходит номер 9 - PullRequest
0 голосов
/ 16 мая 2019

У меня проблемы с 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 будет добавлено 1, когда sessionStorage.point больше, чем оно.

1 Ответ

1 голос
/ 16 мая 2019

Вам нужно сравнивать значения как числа, а не строки.

  if (Number(sessionStorage.pontos) > Number(localStorage.Recpontos)) {
    localStorage.Recpontos = Number(localStorage.Recpontos) + 1;
  }

Если вы сравниваете их как строки, выполняется лексикографическое сравнение, а "10" < "9" потому что "1" < "9".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...