switch 选择判断
switch选择判断, 类似于if...else if...elseif...else的结构- 但
switch更适合于条件全相等===的情况下使用 - 对大量的判断, 在速度上有一定的优化
正常用法
switch语句根据表达式的值,依次与case后表达式的值进行比较- 如果相等, 则执行其后的语句段,只有遇到
break/return语句,或者switch语句结束才终止 - 如果不相等, 则继续查找下一个
case switch语句包含一个可选的default语句,如果在前面的case中没有找到相等的条件,则执行default语句,它与if判断中的else语句类似
let 当前星期几 = 5
switch (当前星期几) {
case 1:
logd("星期一")
break
case 2:
logd("星期二")
break
case 3:
logd("星期三")
break
case 4:
logd("星期四")
break
case 5:
logd("星期五")
break
case 6:
logd("星期六")
break
case 7:
logd("星期日")
break
default:
logd("输入错误")
}
// 返回 星期五
注意
- 如果
case里忘记加break - 当遇到一个正确选项时, 之后的
case会失去了判断功能 - 由于缺少了
break, 会导致此后所有的case和default均会被执行
let 当前星期几 = 5
switch (当前星期几) {
case 1:
logd("星期一")
case 2:
logd("星期二")
case 3:
logd("星期三")
case 4:
logd("星期四")
case 5:
logd("星期五")
case 6:
logd("星期六")
case 7:
logd("星期日")
default:
logd("输入错误")
}
// 返回 星期五
// 返回 星期六
// 返回 星期日
// 返回 输入错误
特殊用法
switch原理其实就是判断条件语句,与case中的值是否相等- 因此,也可以像if...else if...else一样使用
let a = 0
switch (true) {
case a > 5:
logd(">5")
break
case a === 5:
logd("=5")
break
case a < 5:
logd("<5")
break
default:
logd("其他情况")
}