3 回答

TA貢獻(xiàn)1801條經(jīng)驗(yàn) 獲得超8個(gè)贊
如本教程所述
該
default
關(guān)鍵字指定的代碼運(yùn)行,如果沒(méi)有case
匹配
default
關(guān)鍵字的位置無(wú)關(guān)緊要,在案例中執(zhí)行代碼之前,將先測(cè)試關(guān)鍵字之后的default
案例。如果這些情形之一的匹配,它的代碼會(huì)被執(zhí)行,所以break
在default
塊將不被執(zhí)行。
之后的代碼default
,如果沒(méi)有一個(gè)明確的情況下匹配,或者以前的情況下,才能執(zhí)行default
選擇并沒(méi)有有break
前default
(所以漏網(wǎng))。
該default:
案例通常是按照慣例寫(xiě)在最后,因此break
通常不需要在此處。本教程中的警告只是提醒您,如果您放default:
早一些,則break
適用于在沒(méi)有任何情況的情況下繼續(xù)進(jìn)行下一種情況的規(guī)則;沒(méi)有什么特別的default
規(guī)則可以阻止它。

TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超6個(gè)贊
這在ECMA-262,13.12.9運(yùn)行時(shí)語(yǔ)義:CaseBlockEvaluation(這是JavaScript的定義)中進(jìn)行了指定。
不幸的是,該規(guī)范有點(diǎn)難以理解,但可以歸結(jié)為以下幾點(diǎn):要執(zhí)行switch語(yǔ)句,請(qǐng)嘗試case
之前的子句default
(如果有);然后嘗試case
后面的子句default
(如果有);并且只有當(dāng)它們都不匹配時(shí),才執(zhí)行該default
零件。的位置無(wú)關(guān)緊要default
。
添加回答
舉報(bào)