■知识点
default是switch的子句,可以位于switch内任意位置,不会影响多重分支的正常执行。下面结合示例介绍使用default语句应该注意的3个问题。
■实例设计
【示例1】如果default下面还有case子句,应该在default后面添加break语句,终止switch结构,防止程序突破case条件的限制继续执行下面的case子句。
var id = 3;
switch ( id ){
default:
console.log( "游客" );
case 1:
console.log( "普通会员" );
case 2:
console.log( "VIP会员" );
break;
}
【示例2】在下面的代码中,JavaScript先检测case表达式的值,由于case表达式的值都不匹配,则跳转到default子句执行,然后继续执行case 1和case 2子句。但是,最后不会返回default子句再重复执行。
var id = 3;
switch ( id ) {
default:
console. log("游客");
case 1:
console. log("普通会员");
case 2:
console. log("VIP 会员");
}
【示例3】下面的示例使用switch语句设计一个四则运算函数。在switch结构内,先使用case枚举4种可预知的算术运算,当然还可以继续扩展case子句,枚举所有可能的操作,但是无法枚举所有不测,因此最后使用default处理意外情况。
function oper(a,b, opr){
switch (opr){
case "+" : //正常枚举
return a + b;
case "-" : //正常枚举
return a - b;
case "*" : //正常枚举
return a * b;
default: //异常处理
return "非预期的opr值";
}
}
console.log( oper( 2, 5, "*"));
■小结
default语句与case语句简单比较如下。
语义不同:default为默认项,case为判例。
功能扩展:default选项是唯一的,不可以扩展的,而case选项是可扩展的,没有限制的。
异常处理:default与case扮演的角色不同,case用于枚举,default用于异常处理。
已有 22658 名学员学习以下课程通过考试
最需教育客户端 软件问题一手掌握
去 App Store 免费下载 iOS 客户端
点击加载更多评论>>