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

JavaScript 分支結(jié)構(gòu) default 語句

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

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

default是switch的子句,可以位于switch內(nèi)任意位置,不會(huì)影響多重分支的正常執(zhí)行。下面結(jié)合示例介紹使用default語句應(yīng)該注意的3個(gè)問題。

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

【示例1】如果default下面還有case子句,應(yīng)該在default后面添加break語句,終止switch結(jié)構(gòu),防止程序突破case條件的限制繼續(xù)執(zhí)行下面的case子句。

var id = 3;

switch ( id ){

    default:

        console.log( "游客" );

    case 1:

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

    case 2:

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

        break;

}

【示例2】在下面的代碼中,JavaScript先檢測case表達(dá)式的值,由于case表達(dá)式的值都不匹配,則跳轉(zhuǎn)到default子句執(zhí)行,然后繼續(xù)執(zhí)行case 1和case 2子句。但是,最后不會(huì)返回default子句再重復(fù)執(zhí)行。

var id = 3;

switch ( id ) { 

    default:

        console. log("游客"); 

    case 1:

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

    case 2:

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

}

【示例3】下面的示例使用switch語句設(shè)計(jì)一個(gè)四則運(yùn)算函數(shù)。在switch結(jié)構(gòu)內(nèi),先使用case枚舉4種可預(yù)知的算術(shù)運(yùn)算,當(dāng)然還可以繼續(xù)擴(kuò)展case子句,枚舉所有可能的操作,但是無法枚舉所有不測,因此最后使用default處理意外情況。

function oper(a,b, opr){

    switch (opr){

        case "+" :           //正常枚舉

            return a + b;

        case "-" :           //正常枚舉

            return a - b;

        case "*" :           //正常枚舉

            return a * b;

        default:             //異常處理

            return "非預(yù)期的opr值";

    }

}

console.log( oper( 2, 5, "*"));

■小結(jié)

default語句與case語句簡單比較如下。

    語義不同:default為默認(rèn)項(xiàng),case為判例。

    功能擴(kuò)展:default選項(xiàng)是唯一的,不可以擴(kuò)展的,而case選項(xiàng)是可擴(kuò)展的,沒有限制的。

    異常處理:default與case扮演的角色不同,case用于枚舉,default用于異常處理。

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

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