JavaScript中开关大小写语句中的变量声明
我已经创建了一个函数day of theu week(dayy),并在函数中使用了switch case语句JavaScript中开关大小写语句中的变量声明,javascript,function,variables,switch-statement,Javascript,Function,Variables,Switch Statement,我已经创建了一个函数day of theu week(dayy),并在函数中使用了switch case语句 function day_of_week(dayy) { var result; switch (dayy) { case 1: result = "monday"; case 2: result = "Tuesday";
function day_of_week(dayy) {
var result;
switch (dayy) {
case 1:
result = "monday";
case 2:
result = "Tuesday";
case 3:
result = "wednesday";
case 4:
result = "thursday";
case 5:
result = "friday";
case 6:
result = "saturday";
case 7:
result = "sunday";
default:
result = "No day";
}
document.write(result);
}
document.getElementById("switch").innerHTML = day_of_week(1);
document.getElementById("switch").innerHTML = day_of_week(2);
实际上,在switch case语句中,如果没有“break”,代码应该随机执行。但在这里,我声明了一个名为result的变量,并在没有“break”的情况下为其赋值。因此,代码应该随机执行所有案例,而不会中断。但是,这里变量在
重新声明值并执行最后一个案例。
我无法知道我的错误是在声明变量还是在使用switch case语句以及函数实例下的所有语句。
请帮助…我想做一些类似的事情来获得一个随机的一天:
function getDay() {
const days = ["monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday"];
return days[Math.floor(Math.random() * 7)];
}
代码中没有break语句。我希望这对你有用
<!DOCTYPE html>
<html>
<head>
<script>
function day_of_week(dayy){
var result;
switch(dayy){
case 1: result = "Monday";
break;
case 2: result = "Tuesday";
break;
case 3: result = "wednesday";
break;
case 4: result = "Thursday";
break;
case 5: result = "Friday";
break;
case 6: result = "Saturday";
break;
case 7: result = "Sunday";
break;
default: result = "No day";
}
document.write(result);
}
document.getElementById("switch").innerHTML = day_of_week(2);
</script>
</head>
<body>
</body>
</html>
每周的功能日(天){
var结果;
开关(日){
案例1:结果=“星期一”;
打破
案例2:结果=“星期二”;
打破
案例3:结果=“星期三”;
打破
案例4:结果=“星期四”;
打破
案例5:结果=“星期五”;
打破
案例6:结果=“星期六”;
打破
案例7:结果=“星期日”;
打破
默认值:result=“无日期”;
}
记录(结果);
}
document.getElementById(“开关”).innerHTML=一周中的第二天(2);
我使用berak和Math方法重构此代码
function day_of_week(day) {
var result;
switch (day) {
case 1:
result = "monday";
break;
case 2:
result = "Tuesday";
break;
case 3:
result = "wednesday";
break;
case 4:
result = "thursday";
break;
case 5:
result = "friday";
break;
case 6:
result = "saturday";
break;
case 7:
result = "sunday";
break;
default:
result = "No day";
}
document.write(result);
}
document.getElementById("switch").innerHTML = day_of_week(Math.floor( Math.random()*10));
“应该随机执行”?是什么让你认为这段代码不是确定性的?如果没有中断,执行将“失败”。每个匹配案例中的语句都会运行,它不会“中断”第一个匹配案例中的switch语句。因此,每个案例都将以
默认值
案例结束,您将以无日期
结束。事实上,我怀疑如果我的代码中没有break语句,那么所有日期都应该显示出来。但是,在我的代码中,变量结果由不同的案例重新声明,并执行最后一个案例值。实际上,我怀疑如果代码中没有break语句,那么所有的日期都应该显示出来。但是,在我的代码中,变量结果由不同的案例重新声明,并执行最后一个案例值。实际上,我怀疑如果代码中没有break语句,那么所有的日期都应该显示出来。但是,在我的代码中,变量result由不同的case重新声明,并执行最后一个case值。