1.switch case 一般的用它來做值匹配的。 //匹配 就是全等。 / 語法: switch(表達式){ case 值1: 表達式的值和 值1匹配上了,需要執行的代碼; break; case 值2: 表達式的值和 值2匹配上了,需要執行的代碼; break; case 值3: 表達式的值和 ...
1.switch-case 一般的用它來做值匹配的。
//匹配 就是全等。
/*
語法:
switch(表達式){
case 值1:
表達式的值和 值1匹配上了,需要執行的代碼;
break;
case 值2:
表達式的值和 值2匹配上了,需要執行的代碼;
break;
case 值3:
表達式的值和 值3匹配上了,需要執行的代碼;
break;
default:
如果表達式的值和以上的case後面的值都沒有匹配上,那麼就執行這裡的代碼。
break;
}
* */
* //不寫break會穿透到下一個break
2. demo演示
// 請輸入你的成績 ,
// 如果大於90分,法拉利,
// 如果大於80-90分 寶馬
// 70-80 大黃蜂
// 60-70 拖拉機
// 未及格 滾
var score = +prompt("請輸入你的成績");
switch (Math.floor(score / 10)){
case 100:
case 9:
alert("法拉利");
break;
case 8:
alert("寶馬");
break;
case 7:
alert("大黃蜂");
break;
case 6:
alert("拖拉機");
break;
case 5:
case 4:
case 3:
case 2:
case 1:
case 0:
alert("滾");
break;
default :
alert("你的分數有誤");
break;
}
// 註意:
//a.小括弧裡面可以寫 變數、表達式。 case項後面的代碼 只要是符合js語法都行。
//b.在執行switch-case結構的時候遇到了break,就會結束這個switch-case.
// break是可以省略的,如果省略了break,就會往下一個case項穿透,直到遇到break或者這個switch-case結束為止。
//c.default是可以省略的,不會有語法錯誤。 如果switch後面的表達式有可能出現的值都在case項裡面被羅列出來了,那麼就永遠不可能執行default,此時就可以省略default。(反正我不建議省略)
3.switch-case其實也是可以做範圍匹配的。 但是不推薦。
var score = +prompt("請輸入你的成績");
switch (true){
case score >= 90 :
alert("法拉利");
break;
case score >= 80 && score < 90 :
alert("寶馬");
break;
default:
break;
}