Nat*_*lie 0 javascript switch-statement
在 w3schools关于 switch 语句的教程中,它说:
如果 default 不是 switch 块中的最后一个 case,请记住以 break 结束 default case。
但是,正如该教程还指出:
当 JavaScript 遇到 break 关键字时,它会跳出 switch 块。
因此,如果在 switch 语句的开头有一个带 break 的默认值,为什么不总是执行默认值并且解释器立即退出该块?解释器没有按顺序读取 switch 语句中的项目?
正如教程所述
该
default关键字指定的代码运行,如果没有case匹配
default关键字的位置无关紧要,它之后的案例将在执行default案例中的代码之前进行测试。如果这些情形之一的匹配,它的代码会被执行,所以break在default块将不被执行。
default只有在没有任何显式案例匹配时才执行after 的代码,或者default选择了 before并且没有breakbefore default(所以它失败了)。
按照default:惯例,case 通常写在最后,因此break通常不需要a 。教程中的警告只是提醒您,如果您default:早点提出,则在没有时继续下一个案例的规则break仍然适用;default规则没有什么特别之处可以阻止它。