Почему мой получатель оценок оценивается как NaN, когда вычисление само по себе возвращает число? - PullRequest
0 голосов
/ 23 ноября 2018

Я строю простую N-back игру как маленький проект.Игра отслеживает совпадения в каждом сеансе, а также совпадения, которые получает игрок, а затем показывает игроку свой процент в процентах после каждого сеанса.Однако по какой-то причине мой метод подсчета возвращает NaN, хотя, если я запускаю вычисления внутри геттера, я получаю число.

Это метод оценки:

get score() { return Math.round(((this.player_matches / this.matches) * 100) 
- (this.error_count * 3)); }

В конце каждой сессии оценка отображается как 0, потому что я написал метод обновления оценки для пользователя, чтобы отображать 0 с помощьюпо умолчанию, если оценка не является действительным числом:

update_score()
  {
    if (isNaN(this.score)
    {
      $('#score-output').text(0);
    }
    else {
      $('#score-output').text(this.score);
    }
  }

И this.matches, и this.player_matches являются действительными числами.Тем не менее, если я открываю консоль и набираю game.score (у меня есть экземпляр моего класса как game), он возвращает NaN, но если я набираю Math.round (((game.player_matches / game.matches) * 100) - (game.error_count * 3));Я получаю номер.

Это невероятно расстраивает.Я не могу понять, почему вычисления внутри функционального блока оцениваются правильно, но при вызове как функции это не так.Если у кого-то есть какие-либо предложения или если вы хотите увидеть больше кода, дайте мне знать.Спасибо.

...