Как убедиться, что localData в JavaScript является числом, а не строкой, без необходимости постоянно делать его числом? - PullRequest
0 голосов
/ 22 апреля 2020

Итак, у меня есть следующий код:

function save(variableL,variable) {
  localStorage.setItem(variableL,Number(variable));
}
let points = localStorage.getItem('pointsL');
  if (points === null) {
    points = 0;
    save('pointsL',points);
}
let line_segments = localStorage.getItem('line_segmentsL');
if (line_segments === null) {
  line_segments = 0;
  save('line_segmentsL',line_segments);
}
let points_per_sec = 0;
let line_segment_price = 10;

function pointClick() {
  points = Number(points);
  points += 1;
}
function lineSegmentPurchase() {
  points = Number(points);
  line_segments = Number(line_segments);
  if (Number(points) >= line_segment_price) {
    points -= line_segment_price;
    line_segments += 1;
  }
}
function frame() {
  points = Number(points);
  line_segments = Number(line_segments);
  points += points_per_sec / 20;
}
let frame_interval = setInterval(frame, 50);

function saving() {
  save('pointsL',points);
  save('line_segmentsL',line_segments);
}
let saving_interval = setInterval(saving, 1000);

И у меня постоянно возникают ошибки и ошибки. (это только самое последнее, я менял это снова и снова безрезультатно). Иногда он перезагружается, и мои точки просто остаются пустыми, и всегда, когда я нажимаю кнопку, чтобы купить отрезок, для регистрации требуется от четырех до пяти щелчков, а затем иногда цена становится равной go до бесконечности или NaN. Как вы можете видеть, мой код полностью завален функциями Number (), и я чувствую, что это не помогает, и я не уверен, почему эти глюки продолжают происходить. Я уверен, что есть какой-то метод, который я пропускаю, но я не могу понять это.

1 Ответ

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

Вы не можете. В качестве документации Storage.getItem () состояние возвращаемого значения:

Строка DOMString, содержащая значение ключа. Если ключ не существует, возвращается ноль.

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