JavaScript 分支結(jié)構(gòu) default 語句
■知識點
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用于異常處理。
點擊加載更多評論>>