Javascript 如何在一个函数中生成switch和if语句
它表示需要错误声明或语句。ts(1128)[13,7] 它指向else if语句您可以使用“default”关键字,但您可能应该更新代码,以便处理参数值不是正数或不是数字的情况:Javascript 如何在一个函数中生成switch和if语句,javascript,if-statement,Javascript,If Statement,它表示需要错误声明或语句。ts(1128)[13,7] 它指向else if语句您可以使用“default”关键字,但您可能应该更新代码,以便处理参数值不是正数或不是数字的情况: function texas(val) { var answer = ""; switch(val) { case 1: case 2: case 3: var answer = "low";
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;
}
函数(val){
如果(val您只需要在开关中返回
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"
}
}
它是=
,必须删除其他的。答案的var
是不必要的,只需用let
声明一次即可。您忘记了案例3:
中的中断
函数(val){
让我们回答“”;
开关(val){
案例1:
案例2:
案例3:
回答=“低”;
打破
案例4:
案例5:
案例6:
回答:“中等”;
打破
}
如果(val>=7){
回答=“巨大”
}
返回答案;
}
console.log(德克萨斯州(2));
console.log(texas(8));
在开关块中不能使用if
语句
您确实有默认值
选项-
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;
}
请注意,如果您有一个负/负答案,它也将属于此子句,但您可以使用内联?:
if语句来计算answer
的值…语法不允许将else
放在开关else
之后,仅在与if
stat组合使用时才有意义但是开关有一个默认值:
案例最符合您的意图(希望):
不要忘记在您的案例中加入中断
,否则执行将“失败”并执行下一个案例。您永远不会以低结束
您不能像人们前面所说的那样,将else
放在开关
块之后。开关
语句更适合于多路分支和固定数据值。另一方面,if
语句更适合于布尔值。您可以这样做。它可能不是最短的代码行是的,但只是为了让你知道还有另一种方法:
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;
}
else if在没有if语句的情况下无法使用,最好删除开关中不必要的var
s。此代码不起作用。val=“notEvenAnumber”如何。它将返回巨大值,但val不大于或等于7。感谢您的更正,我已更新了我的答案您可以使用开关(true)
以避免重复案例。
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;
}
function texas(val) {
let answer = "";
switch (true) {
case (val == 1 || val == 2 || val == 3):
answer = "low";
break;
case (val == 4 || val == 5 || val == 6):
answer = "medium";
break;
case (val >= 7):
answer = "huge";
break;
}
return answer;
}