Сравните аргументы функции в JavaScript - PullRequest
0 голосов
/ 02 декабря 2018

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

Я попытался добавить вложенный файл, если извлечь ошибку, и она возвращает неизвестное исключение.(раскомментируйте вложенные, если хотите увидеть поведение)

var names = ["Hole-in-one!", "Eagle", "Birdie", "Par", "Bogey", "Double Bogey", "Go Home!"];
function golfScore(par, strokes) {
  if ((par || strokes) <= 0) {
    /*if (par) {
      return "Please enter a value greater than " + par + " for Par";
    }
    else if (strokes) { */
      return "Please enter a value greater than " + strokes + " for Strokes";
    }
  else if (strokes == 1) {
    return names[0];
  }
  else if (strokes <= (par - 2)) {
    return names[1];
  }
  else if (strokes == (par - 1)) {
    return names[2];
  }
  else if (strokes == (par)) {
    return names[3];
  }
  else if (strokes == (par + 1)) {
    return names[4];
  }
  else if (strokes == (par + 2)) {
    return names[5];
  }
    return names[6];
}

// Change these values to test
console.log(golfScore(0,1));console.log(golfScore(5,4));

1 Ответ

0 голосов
/ 02 декабря 2018
((par || strokes) <= 0)

|| заставляет его оценить, является ли par или stroke типом данных "false" (false, null, undefined).По сути, вы пытаетесь сравнить логическое число с числом.Вместо этого вы должны сравнить каждую из ваших переменных с 0

(par <= 0 || strokes <= 0)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...