Switch语句
- 语法:
switch () {
case 0 : {
//条件满足执行的代码;
}
case 1 : {
//条件满足执行的代码;
}
default : {
// 以上条件不满足时执行的代码
}
} - switch 语句中,当一个条件满足以后,后面的代码也会执行 --- 穿透
- break 阻止穿透 break语句只能在switch语句中使用,不能和if语句一起使用,会报错。
var light = 'green';
switch (light) {
case 'red':
{
document.write('stop' + '<br>');
//break; // 打破 阻止穿透
}
case 'green':
{
document.write('go' + '<br>');
// break;
}
case 'yellow':
{
document.write('wait' + '<br>');
//break;
}
}
- 如上所示,没有break就会出现穿透,导致green往下的语句都会执行
- 如下所示,存在break,找到对应的case,执行后悔跳出。就不会出现yellow所对应的值。
swith特殊用法
随机一个分数,判断是否及格。
- 普通写法
<script>
// 随机一个分数,判断是否及格
var score = Math.round(Math.random() * 100);
console.log("你的分数是:" + score)
score = Math.floor(score / 10);
switch (score) {
case 10:
{
alert('yyds');
break;
}
case 9:
{
alert('yyds');
break;
}
case 8:
{
alert('666');
break;
}
case 7:
{
alert('just so so');
break;
}
case 6:
{
alert('还阔以');
break;
}
default:
{
alert('下个班见')
}
}
</script>
- 特殊写法,让switch里面的值为布尔值,然后找到判断case的布尔值
<script>
// switch 可以做条件判断 true
var score = 89;
switch (true) {
case score >= 60 && score < 70:
{
alert('还阔以');
break;
}
case score >= 70 && score < 80:
{
alert('不错');
break;
}
case score >= 80 && score < 90:
{
alert('很棒');
break;
}
case score >= 90 && score < 100:
{
alert('超级棒');
break;
}
default:
{
alert("继续加油");
}
}
</script>
if和switch的区别
- 一般范围判断使用if语句
- 准确值判断使用switch
- 注意:switch 穿透 break if没有此功能