在声明为空变量的函数中,switch 语句如何自动将其 return 值分配给空变量?
In a function with a declared empty variable, how does a switch statement automatically assign its return value to the empty variable?
全部。我是 JavaScript 的新手 - 目前正在尝试理解 switch 语句。当我没有对我的 result
变量赋值时,我无法理解我如何仍然得到 return 值。 switch 语句嵌套在一个函数中。
function caseInSwitch(val) {
let result = "";
switch(val) {
case 1:
return "alpha";
break;
case 2:
return "beta";
break;
case 3:
return "gamma";
break;
case 4:
return "delta";
break;
}
return result;
}
caseInSwitch(1);
我希望 result
是一个空字符串 ""
,但它立即显示以下值...没有任何赋值...!
您正在 return
切换语句。在 val
等于 1
的情况下,switch 语句永远不会超过情况 1。函数不会 return result
,它执行 return "alpha"
.
return 语句终止函数:
function caseInSwitch(val) {
console.log("1: function start. Val:", val);
let result = "";
console.log("2: before switch");
switch(val) {
case 1:
console.log("3: before return alpha");
return "alpha";
console.log("4: after return alpha");
break;
case 2:
return "beta";
break;
case 3:
return "gamma";
break;
case 4:
return "delta";
break;
}
console.log("5: after switch");
return result;
}
var finalResult = caseInSwitch(1);
console.log("Final result:", finalResult);
如您所见,只有语句 1-3
会被记录。
switch 中的 return
语句也意味着 break
是多余的:
switch(val) {
case 1:
return "alpha";
case 2:
return "beta";
case 3:
return "gamma";
case 4:
return "delta";
}
那些 break
陈述只是终止案件所必需的,如果你没有 return 退出案件:
let variable = "";
switch(val) {
case 1:
variable = "alpha";
break;
case 2:
variable = "beta";
break;
case 3:
variable = "gamma";
break;
case 4:
variable = "delta";
break;
}
console.log(variable);
答案很简单,您在 caseInSwitch 中传递 1 作为 val
的值。在 switch 块中,1 与 case 1 和函数 returns alpha 匹配。请记住 switch 块中的 return,使控制 return 来自函数本身,而不仅仅是来自 switch 块
全部。我是 JavaScript 的新手 - 目前正在尝试理解 switch 语句。当我没有对我的 result
变量赋值时,我无法理解我如何仍然得到 return 值。 switch 语句嵌套在一个函数中。
function caseInSwitch(val) {
let result = "";
switch(val) {
case 1:
return "alpha";
break;
case 2:
return "beta";
break;
case 3:
return "gamma";
break;
case 4:
return "delta";
break;
}
return result;
}
caseInSwitch(1);
我希望 result
是一个空字符串 ""
,但它立即显示以下值...没有任何赋值...!
您正在 return
切换语句。在 val
等于 1
的情况下,switch 语句永远不会超过情况 1。函数不会 return result
,它执行 return "alpha"
.
return 语句终止函数:
function caseInSwitch(val) {
console.log("1: function start. Val:", val);
let result = "";
console.log("2: before switch");
switch(val) {
case 1:
console.log("3: before return alpha");
return "alpha";
console.log("4: after return alpha");
break;
case 2:
return "beta";
break;
case 3:
return "gamma";
break;
case 4:
return "delta";
break;
}
console.log("5: after switch");
return result;
}
var finalResult = caseInSwitch(1);
console.log("Final result:", finalResult);
如您所见,只有语句 1-3
会被记录。
switch 中的 return
语句也意味着 break
是多余的:
switch(val) {
case 1:
return "alpha";
case 2:
return "beta";
case 3:
return "gamma";
case 4:
return "delta";
}
那些 break
陈述只是终止案件所必需的,如果你没有 return 退出案件:
let variable = "";
switch(val) {
case 1:
variable = "alpha";
break;
case 2:
variable = "beta";
break;
case 3:
variable = "gamma";
break;
case 4:
variable = "delta";
break;
}
console.log(variable);
答案很简单,您在 caseInSwitch 中传递 1 作为 val
的值。在 switch 块中,1 与 case 1 和函数 returns alpha 匹配。请记住 switch 块中的 return,使控制 return 来自函数本身,而不仅仅是来自 switch 块