Сравнить аргументы функции в javascript

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

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

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.info(golfScore(0,1));console.info(golfScore(5,4));

Если вы удалите комментарии, вам будет не хватать скобки, чтобы закрыть вложенный оператор if.

dotconnor 02.12.2018 07:09
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
1
771
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий
((par || strokes) <= 0)

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

(par <= 0 || strokes <= 0)

Другие вопросы по теме