流程控制

1 流程控制

1.1 流程控制概念

在一個程序執行的過程當中,各條代碼的執行順序對程序的結果是有直接影響的。不少時候咱們要經過控制代碼的執行順序來實現咱們要完成的功能。code

簡單理解:流程控制就是來控制代碼按照必定結構順序來執行it

流程控制主要有三種結構,分別是順序結構分支結構循環結構,表明三種代碼執行的順序。class

流程控制

1.2 順序流程控制

順序結構是程序中最簡單、最基本的流程控制,它沒有特定的語法結構,程序會按照代碼的前後順序,依次執行,程序中大多數的代碼都是這樣執行的。效率

順序流程控制

1.3 分支流程控制

  • 分支結構

由上到下執行代碼的過程當中,根據不一樣的條件,執行不一樣的路徑代碼(執行代碼多選一的過程),從而獲得不一樣的結果變量

分支流程控制

JS 語言提供了兩種分支結構語句:if 語句、switch 語句循環

if 語句語法

  • 語法結構
// 條件成立執行代碼,不然什麼也不作
if (條件表達式) {
    // 條件成立執行的代碼語句
}
語句能夠理解爲一個行爲,循環語句和分支語句就是典型的語句。一個程序由不少個語句組成,通常狀況下,會分割成一個一個的語句。
  • 執行流程程序

    分支流程

if else語句(雙分支語句)im

  • 語法結構img

    // 條件成立  執行 if 裏面代碼,不然執行else 裏面的代碼
    if (條件表達式) {
        // [若是] 條件成立執行的代碼
    } else {
        // [不然] 執行的代碼
    }
  • 執行流程

    if else

    if else if 語句(多分支語句)

    • 語法結構

      // 適合於檢查多重條件。
      if (條件表達式1) {
          語句1;
      } else if (條件表達式2)  {
          語句2;
      } else if (條件表達式3)  {
         語句3;
       ....
      } else {
          // 上述條件都不成立執行此處代碼
      }
    • 執行邏輯

      if  else if

1.4 三元表達式

  • 語法結構

    表達式1 ? 表達式2 : 表達式3;
  • 執行思路

    • 若是表達式1的結果爲 true ,則返回表達式2的值,若是表達式1爲 false,則返回表達式3的值
    • 簡單理解: 就相似於 if else (雙分支) 的簡寫

switch 分支流程

  • 語法結構

    switch 語句也是多分支語句,它用於基於不一樣的條件來執行不一樣的代碼。當要針對變量設置一系列的特定值的選項時,就可使用 switch。

switch( 表達式 ){ 
    case value1:
        // 表達式 等於 value1 時要執行的代碼
        break;
    case value2:
        // 表達式 等於 value2 時要執行的代碼
        break;
    default:
        // 表達式 不等於任何一個 value 時要執行的代碼
}
  • switch :開關 轉換 , case :小例子 選項

  • 關鍵字 switch 後面括號內能夠是表達式或值, 一般是一個變量

  • 關鍵字 case , 後跟一個選項的表達式或值,後面跟一個冒號

  • switch 表達式的值會與結構中的 case 的值作比較

  • 若是存在匹配全等(===) ,則與該 case 關聯的代碼塊會被執行,並在遇到 break 時中止,整個 switch 語句代碼執行結束

  • 若是全部的 case 的值都和表達式的值不匹配,則執行 default 裏的代碼

    注意: 執行case 裏面的語句時,若是沒有break,則繼續執行下一個case裏面的語句。

  • switch 語句和 if else if 語句的區別
    • 通常狀況下,它們兩個語句能夠相互替換
    • switch...case 語句一般處理 case爲比較肯定值的狀況, 而 if…else…語句更加靈活,經常使用於範圍判斷(大於、等於某個範圍)
    • switch 語句進行條件判斷後直接執行到程序的條件語句,效率更高。而if…else 語句有幾種條件,就得判斷多少次。
    • 當分支比較少時,if… else語句的執行效率比 switch語句高。
    • 當分支比較多時,switch語句的執行效率比較高,並且結構更清晰。
相關文章
相關標籤/搜索