如何在变量中写我的答案?

How to write my answer in a variable?

我在编写动态代码时遇到问题。我正在学习 javascript 编程课程,但我在完成一项作业的最后部分时遇到了一些困难。

Exercise 8.2

Extend your switch-case statement with a default value. The result should be 'That is an unknown fruit.' when the variable 'myFruit' has an unknown value. Answer with the result where 'myFruit = pear'.

Write your code below and put the answer into the variable ANSWER.

var myFruit = "pear";
switch (myFruit) {
  case "banana":
  console.log("The banana is yellow.");
  break;
  case "apple":
  console.log("The apple is green.");
  break;
  case "kiwi":
  console.log("The kiwi is green.");
  break;
  case "plum":
  console.log("The plum is purple");
  break;
  default:
  console.log("That is an unknown fruit.");
  break;}

如何在变量中表达这个结果?

我试过这样写:

var result = switch (myFruit);

但这不起作用。

您可以将结果保存在变量 answer 中,然后使用该变量打印出结果;

function fruitSwitcher (myFruit) {
    var answer = "That is an unknown fruit.";
    switch (myFruit) {
      case "banana":
      answer = "The banana is yellow.";
      break;
      case "apple":
      answer = "The apple is green.";
      break;
      case "kiwi":
      answer ="The kiwi is green.";
      break;
      case "plum":
      answer = "The plum is purple";
      break;
      default: 
      // no really needed
      answer ="That is an unknown fruit.";
      break;
     }

     return answer;
}

var myFruit = "pear";
var answer = fruitSwitcher(myFruit);
console.log(answer); //That is an unknown fruit.

前面代码中的默认情况是多余的,因为变量 answer 被初始化为默认值。如果一个未知的水果传入输入,none 的 switch cases 匹配它,因此,answer 变量永远不会改变值,函数 returns 默认值。

您可以声明 result 变量,在 switch 语句的情况下,您可以将值赋给 result 变量,而不是 console.log 计算结果,就像这样:

var myFruit = "pear";
var result;
switch (myFruit) {
  case "banana":
      result = "The banana is yellow.";
      break;
  case "apple":
      result = "The apple is green.";
      break;
  case "kiwi":
      result = "The kiwi is green.";
      break;
  case "plum":
      result = "The plum is purple";
      break;
  default:
      result = "That is an unknown fruit.";
      break;
}

http://jsfiddle.net/uqxtmc25/

我不会为您写出所有代码,但会为您指明正确的方向。您需要在变量中设置文本 return 它:

switch ..

    case "something":
        var message = "Your message here.";
        break;

...

一旦您的开关设置了值,您就可以根据需要使用它。

您不能像操作一样使用 switch 语句来 return 来自 switch 语句的值。

不能像var result = switch (myFruit);那样调用switch语句,它不是函数。您必须将所有 switch case 代码移动到一个函数中:

function mySwitchCase(fruit){
    var returnResult='';
    switch (fruit) {
        case "banana":
           returnResult="The banana is yellow.";
            break;
        case "apple":
            returnResult="The apple is green.";
            break;
        case "kiwi":
            returnResult"The kiwi is green.";
            break;
        case "plum":
            returnResult"The plum is purple";
            break;
        default:
            returnResult"That is an unknown fruit.";
            break;
    }
    return returnResult;
}

那么你可以这样称呼它:

var result = mySwitchCase(myFruit);