Javascript 为什么此开关返回错误的结果?
所以这段代码当然起作用了:Javascript 为什么此开关返回错误的结果?,javascript,switch-statement,break,Javascript,Switch Statement,Break,所以这段代码当然起作用了: var日; 开关(新日期().getDay()){ 案例0: day=“星期日”; 打破 案例1: day=“星期一”; 打破 案例2: day=“星期二”; 打破 案例3: day=“星期三”; 打破 案例4: day=“星期四”; 打破 案例5: day=“星期五”; 打破 案例6: day=“星期六”; } document.getElementById(“demo”).innerHTML=“今天是”+天; 您需要中断语句的原因是开关的工作方式不同。当您遇
var日;
开关(新日期().getDay()){
案例0:
day=“星期日”;
打破
案例1:
day=“星期一”;
打破
案例2:
day=“星期二”;
打破
案例3:
day=“星期三”;
打破
案例4:
day=“星期四”;
打破
案例5:
day=“星期五”;
打破
案例6:
day=“星期六”;
}
document.getElementById(“demo”).innerHTML=“今天是”+天;
您需要中断
语句的原因是开关
的工作方式不同。当您遇到类似的多个条件时,它将从匹配开始,然后继续,直到结束,或者直到被break
中断。因此,对于星期二,实际的代码流如下所示:
case 2:
day = "Tuesday";
day = "Wednesday";
day = "Thursday";
day = "Friday";
day = "Saturday";
case 2:
day = "Tuesday";
break;
而你最后的结局是星期六
。如果您在调试器中单步执行代码(例如,使用Chrome开发工具),您可以很容易地看到这一点
如果在每个案例的结尾处放置break
,则流程如下:
case 2:
day = "Tuesday";
day = "Wednesday";
day = "Thursday";
day = "Friday";
day = "Saturday";
case 2:
day = "Tuesday";
break;
然后,您将使用星期二
break来结束语句的执行,这些语句只应在这种情况下运行。
如果没有中断,语句将继续执行,直到达到最后一种情况或默认情况。Read。不要想当然。了解“中断”
的作用,您将有一个愉快的时刻