前两者区别:switch..case 语句通常处理case为比较确定值的情况
而if..else.. 语句常用于范围判断(大于小于等于某个范围)
流程控制 简单理解就是控制我们的代码按照什么结构顺序来执行
流程控制分三种 分别是顺序结构 分支结构 循环结构
js语言提供了两种分支结构语句:if语句和switch语句
if (条件表达式){
//执行语句1;
} else {
//执行语句2;
}
条件满足 则执行语句1 不再继续向下执行 反之条件不满足则执行语句2 只会执行其中一个语句
<script>
var age = prompt('请输入你的年龄');
if (age >= 18) {
alert('可以进入网吧');
} else {
alert('未成年止步!');
}
</script>
多分支语句
利用多个选择不同的语句执行 得到不同的结果 多选一
if (条件表达式1){
//语句1;
} else if ( 条件表达式2){
//语句2;
} else if ( 条件表达式3){
//语句3;
...
} else {
//上述都不满足 执行最后else语句;
}
<script>
var num = prompt('请输入你的分数:');
if (num >= 90) {
alert('A');
} else if (num >= 80 && num < 90) {
alert('B')
} else if (num >= 70 && num < 80) {
alert('C');
} else if (num >= 60 && num < 70) {
alert('D');
} else {
alert('E');
}
</script>
三元表达式(简化版的if else)
条件表达式 ? 表达式1 :表达式2
例:用户输入一个0-59之间的值 如果数字小于10 则在数字前面补0 大于10 则正常输出
<script>
var time = prompt('请你输入一个0-59之间的数字:');
var result = time < 10 ? '0' + time : time; //把返回值赋值给一个变量
alert(result);
</script>
swith语句 也是多分支语句 实现多选一
case //例子 选项的意思
利用表达式的值和case后面的选项值相匹配 如果匹配上 就执行该case里的语句 都不匹配则执行最后的语句
switch(表达式) {
case value1:
执行语句1;
break;//
case value2:
执行语句2;
break;
default:
以上都不匹配 执行最后的语句;
}
案例:给一个输入框 让用户输入水果获取水果价格 有该水果回答价格 没有执行最后一句‘走错了’
<script>
//fruit的值和case里面的值相匹配 为全等 值和数据类型一致才可以
var fruit = prompt('请输入水果');
switch (fruit) {
case '苹果': //水果是字符串所以加了引号 数值型 case后不加引号
alert('3.2/斤');
break;
case '草莓':
alert('8.9/斤');
break;
default:
alert('走错了你');
break;
}
</script>