switch 语句也是多分支语句,它用于基于不同的条件来执行不同的代码,当要针对变量设置一系列的特定值的选项时,就可以使用
语法结构 switch 转换、开关 case 例子或选项的意思 break 退出的意思
语法:
switch(表达式){
case value1 :
执行语句1;
break;
case value2 :
执行语句2;
break;
...
defult:
执行最后的语句;
}
表达式结果和哪一个value匹配上了,就执行哪一个语句
<script>
//switch语句
switch(2){
case 1:
console.log('这是1');
break;
case 2:
console.log('这是2');
break;
case 3:
console.log('这是3');
break;
default:
console.log('没有匹配到结果');
}
</script>
image.png
注意事项:
1.小括号里的表达式一般写成变量
2.表达式的值和执行语句的value是 ===全等的关系
3.如果当前循环没有写break则不会退出循环,还会继续下一个循环,并且,只要执行过的循环的值都会输出
用户在弹窗中输入一个水果,如果有就弹出该水果的价格,如果没有就输出没有该水果
分析:
1.用prompt接收数据
2.将数据保存为变量,将其作为switch的表达式值
3.将变量与value进行对比,正确就输出价格,不正确输出没有此水果
<script>
//查询水果案例
var fruit = prompt('输入水果名称');
switch(fruit){
case '苹果':
alert('3元一斤');
break;
case '梨':
alert('4元一斤');
break;
case '榴莲':
alert('20元一斤');
break;
default:
alert('没有这种水果');
break;
}
</script>
1.在一般情况下,两者可以通用
2.switch··case语句通常处理case值比较确定的情况,而is··else if则更加灵活,常用于范围判断(大于、小于、等于某个范围 )
3.switch··case进行条件判断时是直接执行条件语句,而if··else-if所有条件都必须走一遍,所以switch··case效率较高
4.当分支较少时,if··else-if的效率比switch··case更高
5.当分支较多时,用switch··case的效率更高
网友评论