一、條件分支語句
流程控制語句:可以利用一些結構打斷程序,或者挑選分支執行,或者循環執行某一段語句。
包含:條件分支語句、循環語句
條件分支語句:if語句、switch語句、三元運算符
if語句
if(條件表達式){
條件表達式成立執行
}
if(條件表達式){
條件表達式成立執行
}else{
條件表示不成立執行
}
<script type="text/javascript"> var num=parseInt(prompt('請輸入你的分數')); if(num>=60){ alert('及格'); }else{ alert('不及格'); } </script>
if多分支條件語句
根據多個條件可以選擇多個分支進行執行。
語法:if……else if……else if……else if……else……
if(條件1){
如果條件1為真,執行的結構體1
}else if(條件2){
條件1為假,條件2為真時,執行的結構體2
}else if(條件3){
條件1/2都為假,條件3為真時,執行的結構體3
}else{
前面條件都為假,執行的結構體
}
<script type="text/javascript"> var num=parseInt(prompt('請輸入你的分數')); if(num >= 90){ alert('優秀'); }else if(num >= 80){ //如果走到這一步,隱含了a<90 alert('良好'); //執行完之后,直接跳樓,不會執行后面的條件分之 }else if(num >= 70){ alert('中等'); }else if(num >= 60){ //如果走到這一步,隱含了a<70 alert('及格'); }else{ alert('不及格'); } </script>
if嵌套
<script type="text/javascript"> var sex=prompt('請輸入你的性別','男'); var age=parseInt(prompt('請輸入你的年紀')); if(sex == '男'){ //只要進來執行,性別肯定是男 //判斷年齡確定是否大於等於22 if(age >= 22){ alert('恭喜你!小鮮肉可以結婚了'); }else{ alert('小鮮肉,再堅持一會!'); } else if(sex == '女'){ if(age >= 20){ alert('小蘿莉,恭喜你!可以結婚了'); }else{ alert('小蘿莉,再堅持一會!'); } }else{ //進入這個條件分支語句,說明不是男也不是女,是人妖 alert('人妖,走開!'); } </script>
二、switch case語句
switch:關鍵字
case:匹配案例
break:打斷代碼,跳出整個switch語句
default:相當於if語句中的else,否則的情況
語法:
switch(待檢測的值){
case 值1:
值1與待檢測的值匹配時執行
break;
case 值2:
值2與待檢測的值匹配時執行
break;
case 值3:
值3與待檢測的值匹配時執行
break;
default:
待檢測的值 與 case 1 和 case 2、case 3 不同時執行的代碼
}
<script type="text/javascript"> var xingzuo=prompt('請輸入你的星座' ,'金牛座'); switch(xingzuo){ case "白羊座": alert('今日的精神狀態較好,一些重要的、消耗腦力的事情'); break; case "金牛座": alert('職場上的責任心不強,偶爾推卸責任,很難得到同事'); break; case "巨蟹座": alert('今天要是工作量太多太重的話,可以請同事幫忙一下'); break; case "獅子座": alert('對新鮮事物有很強的求知欲,這樣的心態對事業好'); break; case "天秤座": alert('整個人精神爽利,桃花滾滾來,單身者有福咯!'); break; case "水瓶座": alert('今日職場上運氣好,時刻都受到大家的照顧,即使有!'); break; default: alert('對不起,我們沒有收錄你的星座運勢'); } </script>
三、三元運算符
? :是一組運算符,這是JS唯一一個需要三個元素參與的運算符。
條件 ? val1 : val2
表達式的值,要看條件是true還是false。
如果條件是true,那么表達式的值就是val1。
如果條件是false,那么表達式的值就是val2。
<script type="text/javascript"> console.log(true ? 3:8); //3 console.log(false ? 3:8); //8 </script>
總結:
條件分支的語句一共有3種,但是&& ||短路寫法也有一種選擇的感覺,總共算4種。
if……else if…… (必須立即想到!這個東西無敵)
Switch case (某方面很擅長,體現在了代碼的清晰度上)
三元運算符(賦值的時候,根據條件有兩個可能的值,馬上想到三元運算符)
&&短路寫法(經驗問題,用的不熟悉沒事)