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

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

提問人:劉團圓發(fā)布時間:2020-11-24

■知識點

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

■實例設(shè)計

【示例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( "普通會員" );

    case 2:

        console.log( "VIP會員" );

        break;

}

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

var id = 3;

switch ( id ) { 

    default:

        console. log("游客"); 

    case 1:

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

    case 2:

        console. log("VIP 會員");

}

【示例3】下面的示例使用switch語句設(shè)計一個四則運算函數(shù)。在switch結(jié)構(gòu)內(nèi),先使用case枚舉4種可預(yù)知的算術(shù)運算,當然還可以繼續(xù)擴展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為默認項,case為判例。

    功能擴展:default選項是唯一的,不可以擴展的,而case選項是可擴展的,沒有限制的。

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

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

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