在一個程序執行的過程當中,各條代碼的執行順序對程序的結果是有直接影響的。不少時候咱們要經過控制代碼的執行順序來實現咱們要完成的功能。code
簡單理解:流程控制就是來控制代碼按照必定結構順序來執行it
流程控制主要有三種結構,分別是順序結構、分支結構和循環結構,表明三種代碼執行的順序。class
順序結構是程序中最簡單、最基本的流程控制,它沒有特定的語法結構,程序會按照代碼的前後順序,依次執行,程序中大多數的代碼都是這樣執行的。效率
由上到下執行代碼的過程當中,根據不一樣的條件,執行不一樣的路徑代碼(執行代碼多選一的過程),從而獲得不一樣的結果變量
JS 語言提供了兩種分支結構語句:if 語句、switch 語句循環
if 語句語法
// 條件成立執行代碼,不然什麼也不作 if (條件表達式) { // 條件成立執行的代碼語句 }
語句能夠理解爲一個行爲,循環語句和分支語句就是典型的語句。一個程序由不少個語句組成,通常狀況下,會分割成一個一個的語句。
執行流程程序
if else語句(雙分支語句)im
語法結構img
// 條件成立 執行 if 裏面代碼,不然執行else 裏面的代碼 if (條件表達式) { // [若是] 條件成立執行的代碼 } else { // [不然] 執行的代碼 }
執行流程
if else if 語句(多分支語句)
語法結構
// 適合於檢查多重條件。 if (條件表達式1) { 語句1; } else if (條件表達式2) { 語句2; } else if (條件表達式3) { 語句3; .... } else { // 上述條件都不成立執行此處代碼 }
執行邏輯
語法結構
表達式1 ? 表達式2 : 表達式3;
執行思路
語法結構
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裏面的語句。