Почему моя переменная localStorage ломается на странице refre sh? - PullRequest
0 голосов
/ 16 апреля 2020

У меня другая проблема с моим игровым кодом Simon. Я добавил переменную localStorage, чтобы сохранить высокий балл между загрузками страниц. Очевидно, что высокий балл должен увеличиваться только по мере того, как ваш балл превышает его, а затем переменная localStorage должна захватывать этот новый балл. При перезагрузке моя переменная localStorage просто добавляет число 1 в конец рекорда. Допустим, вы установили высокий балл 16 и закрыли страницу, чтобы go сделать что-то еще, а затем, когда вы вернетесь к более поздней игре, ваш высокий балл 16 будет достигнут при загрузке страницы. Вы нажимаете кнопку «Пуск», чтобы начать игру, и при выборе правильного ввода ваш высокий балл становится равным 161, а затем 1611 и т.

Ответы [ 3 ]

0 голосов
/ 16 апреля 2020

В вашем локальном хранилище есть строка.

изменить:

var highScore = localStorage.getItem("highScore") || score;

на:

var highScore = +localStorage.getItem("highScore") || score;
0 голосов
/ 16 апреля 2020

Тип localStorage - String. Вы должны преобразовать localStorage в тип Number, как показано ниже:

Number(localStorage.getItem("highScore"))

Для получения дополнительной информации о localStorage прочитайте этот документ

0 голосов
/ 16 апреля 2020

localStorage хранит строки. Вы получаете неявное преобразование. В основном score + (1).toString()

Перед установкой значения вы должны проверить, превышает ли оценка высокий результат. Я пропустил преобразование чисел, потому что есть неявное преобразование, поэтому оно не нужно. Но я бы порекомендовал вам добавить его в любом случае, просто чтобы избежать проблем.

замените highScore += 1; на

  if (score > highScore)
        highScore = score;

Ниже на самом деле не нужно исправлять ваш код, но вы должны делать это в любом случае:

var highScore = parseInt(localStorage.getItem("highScore")) || score;

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