位置:首頁(yè) > 軟件操作教程 > 編程開(kāi)發(fā) > JavaScript > 問(wèn)題詳情

JavaScript 分支結(jié)構(gòu) switch 語(yǔ)句

提問(wèn)人:劉團(tuán)圓發(fā)布時(shí)間:2020-11-24

■知識(shí)點(diǎn)

switch語(yǔ)句專(zhuān)門(mén)用來(lái)設(shè)計(jì)多分支條件結(jié)構(gòu)。與if/else多分支結(jié)構(gòu)相比,switch結(jié)構(gòu)更簡(jiǎn)潔,執(zhí)行效率更高。其語(yǔ)法格式如下:

switch (expr){

    case valuel:

         statementListl

         break;

    case value2:

         statementList2

         break;

    ...

case valuen:

    statementListn

    break;

default:

    default statementList

}

    switch語(yǔ)句根據(jù)表達(dá)式expr的值,依次與case后表達(dá)式的值進(jìn)行比較,如果相等,則執(zhí)行其后的語(yǔ)句段,只有遇到break語(yǔ)句或者switch語(yǔ)句結(jié)束才終止;如果不相等,繼續(xù)查找下一個(gè)case。switch語(yǔ)句包含一個(gè)可選的default語(yǔ)句,如果在前面的case中沒(méi)有找到相等的條件,則執(zhí)行default語(yǔ)句,它與else語(yǔ)句類(lèi)似。

■實(shí)例設(shè)計(jì)

下面的示例使用switch語(yǔ)句設(shè)計(jì)網(wǎng)站登錄會(huì)員管理模塊。

var id = 1; 

switch ( id ) {

    case 1:

        console.log( "普通會(huì)員" );

        break;                          //停止執(zhí)行,跳出switch

    case 2:

        console.log( "VIP會(huì)員" );

        break;                          //停止執(zhí)行,跳出switch

    case 3:

        console.log( "管理員" );

        break;                          //停止執(zhí)行,跳出switch

    default:                            //上述條件都不滿足時(shí),默認(rèn)執(zhí)行的代碼

        console.log( "游客" );

當(dāng)JavaScript解析switch結(jié)構(gòu)時(shí),先計(jì)算條件表達(dá)式,然后計(jì)算第一個(gè)case子句后的表達(dá)式的值,并使用全等(===)運(yùn)算符來(lái)檢測(cè)兩值是否相同。由于使用全等運(yùn)算符,因此不會(huì)自動(dòng)轉(zhuǎn)換每個(gè)值的類(lèi)型。

■小結(jié)

case子句可以省略語(yǔ)句,這樣當(dāng)匹配時(shí),會(huì)繼續(xù)執(zhí)行下一個(gè)case子句的語(yǔ)句,而不管下一個(gè)case條件是否滿足。下面的示例演示了把普通會(huì)員和VIP會(huì)員合并在一起進(jìn)行檢測(cè)。

var id = 1;

switch ( id ) {

    case 1:                //空匹配

    case 2:

         console.log( "VIP會(huì)員" );

         break;

    case 3:

         console.log( "管理員" );

         break;

    default:

         console.log( "游客" );

}

繼續(xù)查找其他問(wèn)題的答案?

相關(guān)視頻回答
回復(fù)(0)
返回頂部