1. 流程控制
在一個程序執行過程中,各條代碼的執行順序對程序的結果是有直接影響的,很多時候我們通過控制代碼的執行順序來實現我們要完成的功能。
簡單理解: 流程控制就是來控制我們代碼按照什麼結構順序來執行。
流程控制主要三種結構: 分別是順序結構、分支結構、循環結構。
2.順序流程控制
順序結構是程序中做簡單、最基本的流程控制,它沒有特定的語法結構,程序會按照代碼的先後順序,依次執行,程序中大多數代碼都是這樣執行的。
3.分支流程控制if語句
- 分支結構:由上到下,不同條件,執行不同路徑代碼(執行代碼多選一),從而得到不同結果。
- js語言提供了兩種分支結構語句
if語句
switch語句
4.三元表達式
三元表達式也能做一些簡單的條件選擇,有三元運算符組成的式子稱爲三元表達式。
<script>
//1.由三元運算符組成的式子我們稱爲三元表達式
//2.++num 3 + 5 ?:
//3.語法結構
//條件表達式 ? 表達式1 : 表達式2
//4.執行思路:如果條件表達式結果爲真 則返回表達式1的值 如果條件表達式結果爲假 則返回表達式2的值
var num = 10;
var result = num > 5 ? '是的':'不是的';//表達式有返回值
console.log(result);
</script>
5.分支流程控制switch語句
<script>
//switch 轉換、開關 case 小例子或者選項的意思
// switch(表達式){
// case value1:
// 執行語句1;
// break;
// case value2:
// 執行語句;
// break;
// default:
// 執行最後語句;
// }
switch(2){
case 1:
console.log('這是1');
break;
case 2:
console.log('這是2');
break;
default:
console.log('匹配失敗');
}
</script>
switch注意事項:
1.我們開發中,表達式經常寫成變量;
2.變量和case中value匹配的時候是全等,必須是值和數據類型一致纔可以;
3.break 如果當前case裏面沒有break,則不會退出switch,是繼續執行下一個case。
6.switch語句與if else if 語句的區別
1.一般情況下,它們兩個語句可以互換;
2.switch……case語句通常處理case較爲確定值的情況下,而if……else……if語句更加靈活,常用於範圍判斷(大於、等於某個範圍);
3.switch語句進行條件判斷後直接執行到程序的條件語句,效率更高,而if……else語句有幾種條件,就得判斷多少次。
4.當分支比較少時,if……else語句的執行效率比switch語句高。
5.當分支比較多時,switch語句的執行效率比較高,而且結構更清晰。