Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 编解码器功能/开关_Javascript - Fatal编程技术网

Javascript 编解码器功能/开关

Javascript 编解码器功能/开关,javascript,Javascript,我正在通过我的密码工作。我需要创建一个函数,该函数采用电影名称,并根据输入的电影提供电影评论。我需要使用switch语句来执行此操作 它要求用户创建一个名为getReview的函数,他必须使用开关来提供可能的输出。我不确定函数和开关之间的语法/关系。以下是我写的: var getReview = function (movie) { switch (movie) { case "Toy Story 2": "Great story. Mean pr

我正在通过我的密码工作。我需要创建一个函数,该函数采用电影名称,并根据输入的电影提供电影评论。我需要使用
switch
语句来执行此操作

它要求用户创建一个名为
getReview
的函数,他必须使用
开关来提供可能的输出。我不确定函数和开关
之间的语法/关系。以下是我写的:

var getReview = function (movie) {
    switch (movie) {
          case "Toy Story 2":
          "Great story. Mean prospector."
           break;
          case "Finding Nemo":
             "Cool animation, and funny turtles"
             break;
         case "The Lion King":
            "Great songs."
             break;
         default:
             "I don't know!"
             break;
     }
  };

Codecademy问我“你确定返回的是正确的东西吗?”

仅仅在语句中放入一个字符串对它没有任何作用。函数应该返回消息,所以你必须使用
return
语句

var getReview=函数(电影){
开关(电影){
案例“玩具总动员2”:
return“伟大的故事,卑鄙的探矿者”
打破
“寻找尼莫”一案:
返回“酷动画和有趣的海龟”
打破
案例“狮子王”:
返回“伟大的歌曲”
打破
违约:
return“我不知道!”
打破
}
};

警报(getReview(提示(“什么电影?”));
您应该在每个
案例中添加一个return语句

通常,您希望在交换机中的每个
案例
中添加
break
语句。但是,由于您正在
return
ing,因此交换机不可能“崩溃”。如果您不确定这意味着什么,请查看以下示例:

switch (x) {
    case 1:
        console.log("hi #1")
    case 2:
        console.log("hi #2")
        break;
    case 3:
        console.log("hi #3")
        break;
}
如果
x==1
,则

hi #1
hi #2
将出现在控制台中。将其与如果
x==2
x==3
进行比较。则控制台中分别只会出现
“hi#2”
“hi#3”

这是因为,在完成
案例1
后,计算机会继续运行:您需要
中断
来停止它。但是,通过
返回
ing,您基本上调用了
中断
,因为函数返回,因此不会继续通过
案例

不管怎样,我都是这样设置的:

var getReview = function (movie) {
    switch (movie) {
        case "Toy Story 2": return "Great story. Mean prospector."
        // all your other cases
        default: return "movie not in library"
    }
 }
或者(语法不是很清晰),您可以在末尾返回一个变量:

var getReview = function (movie) {
    var line = ""
    switch (movie) {
        case "Toy Story 2":
            line =  "Great story. Mean prospector."
            break;
        // all your other cases
        default:
            line = "movie not in library"
            break;    // this `break` is optional
    }
    return line
 }

嗯,你不返回任何东西。要返回,你需要使用
return
。你的函数没有任何
return
语句,所以它不返回任何东西。我喜欢return变量,而不是10个不同的返回。@Hanoncs我也喜欢。我只是觉得这是一个很好的教授OP的机会,所以我想包括另一个p可能性。加上1,太糟糕的堆栈用户现在都很刻薄,像这样的事情值得投票。谢谢royhowie!这是一个非常有启发性的回答。我喜欢单一返回语句的优雅。这是我在这个网站上遇到的第一个问题。谢谢你,先生。我对编码非常陌生,你可以告诉我。我猜是个愚蠢的错误。