Условный формат работает правильно - PullRequest
0 голосов
/ 05 апреля 2020

Я использую функцию условного формата basi c, но по какой-то причине она, кажется, выполняет все условия и также выдает неопределенное предупреждение.

function mark(grade) {
  if (grade <= 3) {
    alert("poor");
  } else if (grade > 3 && grade < 8) {
    alert("good");
  } else(grade > 8)
  alert("excellent");
}
alert(mark(2))

Ответы [ 2 ]

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

Итак, кроме опечаток и логических ошибок, попробуйте троичную здесь:

const mark = grade => grade <= 3 ?  "poor" : grade < 8 ? "good" : "excellent";
alert(2 + ":" + mark(2))

// for testing purposes:
console.log(4,mark(4))
console.log(7,mark(7))
console.log(9,mark(9))

ваш код исправлен (То же, что и удаленный код Нины. Я удалю его, если она восстановит)

function mark(grade) {
  if (grade <= 3) return "poor"; // no need for else when you return 
  if (grade <  8) return "good"; // no need to test 3 again
                  return "excellent";
}
alert(mark(2))
0 голосов
/ 05 апреля 2020

1) alert (mark (2)) -> вызвать функцию mark как параметр в alert! Функция mark ничего не возвращает, поэтому последнее предупреждение показывает «undefined»

2) последнее «else» должно быть «else if»

...