如何解决我如何在一个函数中进行switch和if语句
function texas(val) {
var answer = "";
switch(val) {
case 1:
case 2:
case 3:
var answer = "low";
case 4:
case 5:
case 6:
var answer = "medium";
break;
} else if(val => 7) {
var answer = "Huge"
}
return answer;
}
它表示错误声明或预期的语句。 ts(1128)[13,7] 它会在else if语句上出现
解决方法
您可以使用“默认”关键字,但是您可能应该更新代码以处理参数值不是正数或不是数字的情况:
function texas(val) {
if (val <= 0 || isNan(val)) {
throw new InvalidOperationException("val should be a positive number");
}
switch(val) {
case 1:
case 2:
case 3:
return "low";
case 4:
case 5:
case 6:
return "medium";
default:
return "Huge"
}
}
,
您只需要返回开关
function texas(val) {
var answer = "";
switch(val) {
case 1:
case 2:
case 3:
var answer = "low";
return answer;
case 4:
case 5:
case 6:
var answer = "medium";
return answer;
}
if(val => 7) {
var answer = "Huge"
}
return answer;
}
,
它是>=
,else
必须删除。不需要var
的答案,只需用let
声明一次即可。您忘记了break
中的case 3:
。
function texas(val) {
let answer = "";
switch(val) {
case 1:
case 2:
case 3:
answer = "low";
break;
case 4:
case 5:
case 6:
answer = "medium";
break;
}
if(val >= 7) {
answer = "Huge"
}
return answer;
}
console.log(texas(2));
console.log(texas(8));
,
您不能在if
块中使用switch
语句。
您确实有default
选项-
function texas(val) {
var answer = "";
switch(val) {
case 1:
case 2:
case 3:
answer = "low";
case 4:
case 5:
case 6:
answer = "medium";
break;
default:
answer = val >= 7 ? "Huge" : "Invalid";
break;
}
return answer;
请注意,如果答案为负/否定,它也会落入该子句中,但是可以使用内联answer
if语句来将?:
的值... >
该语法不允许将var latlng = L.GeometryUtil.destination(latlng,heading,distance)
放在else
之后。 switch
仅与else
政治家结合才有意义。但是if
有一个switch
案例,最符合您的意图(希望如此):
default:
别忘了在案件中加入function texas(val) {
var answer = "";
switch(val) {
case 1:
case 2:
case 3:
var answer = "low";
break;
case 4:
case 5:
case 6:
answer = "medium";
break;
default:
if(val >= 7) {
answer = "Huge"
}
// decide what should happen if val is 0,-1 or not even a number (e.g. texas('gotcha!')
break;
}
return answer;
}
,否则执行将“失败”并执行下一个案件。您永远不会以break
您不能将 10.times.map{arr.sample}
放在else
后面,就像上面所说的那样。 switch
语句更适合多路分支和固定数据值。另一方面,switch
语句更适合布尔值。你可以做这样的事情。它可能不是最短的代码行,但您可以使用另一种方法:
if
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。