JavaScript 分支結(jié)構 switch 語句
■知識點
switch語句專門用來設計多分支條件結(jié)構。與if/else多分支結(jié)構相比,switch結(jié)構更簡潔,執(zhí)行效率更高。其語法格式如下:
switch (expr){
case valuel:
statementListl
break;
case value2:
statementList2
break;
...
case valuen:
statementListn
break;
default:
default statementList
}
switch語句根據(jù)表達式expr的值,依次與case后表達式的值進行比較,如果相等,則執(zhí)行其后的語句段,只有遇到break語句或者switch語句結(jié)束才終止;如果不相等,繼續(xù)查找下一個case。switch語句包含一個可選的default語句,如果在前面的case中沒有找到相等的條件,則執(zhí)行default語句,它與else語句類似。
■實例設計
下面的示例使用switch語句設計網(wǎng)站登錄會員管理模塊。
var id = 1;
switch ( id ) {
case 1:
console.log( "普通會員" );
break; //停止執(zhí)行,跳出switch
case 2:
console.log( "VIP會員" );
break; //停止執(zhí)行,跳出switch
case 3:
console.log( "管理員" );
break; //停止執(zhí)行,跳出switch
default: //上述條件都不滿足時,默認執(zhí)行的代碼
console.log( "游客" );
當JavaScript解析switch結(jié)構時,先計算條件表達式,然后計算第一個case子句后的表達式的值,并使用全等(===)運算符來檢測兩值是否相同。由于使用全等運算符,因此不會自動轉(zhuǎn)換每個值的類型。
■小結(jié)
case子句可以省略語句,這樣當匹配時,會繼續(xù)執(zhí)行下一個case子句的語句,而不管下一個case條件是否滿足。下面的示例演示了把普通會員和VIP會員合并在一起進行檢測。
var id = 1;
switch ( id ) {
case 1: //空匹配
case 2:
console.log( "VIP會員" );
break;
case 3:
console.log( "管理員" );
break;
default:
console.log( "游客" );
}
點擊加載更多評論>>