=>尝试比较switch语句中的值时,运算符“未定义”错误

时间:2018-02-04 16:21:18

标签: javascript switch-statement

我正在我的大学和我的作业上学习Javascript的入门课程,我必须编写一个函数,该函数将值传递给参数并通过switch语句进行比较。这就是我所做的:

function grader(mark) {
  switch (mark) {
    case (mark >= 80 && mark <= 100) :
      return 'A';
      break;
    case (mark >= 70 && mark <= 79) :
      return 'B';
      break;
    case (mark >= 60 && mark <= 69) :
      return 'C';
      break;
    case (mark >= 50 && mark <= 59) :
      return 'D';
      break;
    case (mark >= 0 && mark <= 49) :
      return 'F';
      break;
  }
}

但是我在暂存器上得到的错误是:

Exception: SyntaxError: expected expression, got '>'
@Scratchpad/2:3
*/

/*
undefined
*/

操作数未定义时意味着什么?

1 个答案:

答案 0 :(得分:1)

NO switch个案例无法检查范围内的值。

switch (expression) {
  case value1:
    //Statements executed when the
    //result of expression matches value1
    [break;]
  case value2:
    //Statements executed when the
    //result of expression matches value2
    [break;]

这清楚地表明案件应该是具体的价值。

你应该选择传统的if else if

 if (mark >= 80 && mark <= 100){
      return 'A';
  }
  else if  (mark >= 70 && mark <= 79) {
     return 'B';
  }