控制流
控制流(Control flow)是指計算機執行指令碼中語句的順序。
程式碼的執行順序是從檔案的第一行到最後一行,除非計算機遇到改變控制流的結構(這種情況極為常見),比如條件語句和迴圈語句。
例如,假設一個指令碼用於驗證網頁表單中的使用者資料。該指令碼會提交已驗證的資料,但如果使用者(比如說)將某個必填欄位留空,指令碼就會提示他們填寫該欄位。為了實現這個功能,指令碼使用了條件結構(即 if...else),這樣就可以根據表單是否填寫完整來執行不同的程式碼。
js
if (isEmpty(field)) {
promptUser();
} else {
submitForm();
}
在 JavaScript 或 PHP(以及類似語言)的典型指令碼中,包含了許多控制結構,包括條件語句、迴圈和函式。指令碼的某些部分也可以設定為在事件發生時執行。
例如,上文提到的例子可能位於一個函式內部,該函式在使用者點選表單的提交按鈕時執行。這個函式還可能包含一個迴圈,用於遍歷表單中的所有欄位,並依次檢查每個欄位。再看 if 和 else 部分的程式碼,promptUser 和 submitForm 這兩行也可能是對指令碼中其他函式的呼叫。可見,即使只有幾行程式碼,控制結構也能支配複雜的處理流程。
控制流意味著,當你在閱讀指令碼時,不僅要從頭到尾地閱讀,還必須關注程式結構以及它如何影響執行順序。
另見
- JavaScript 參考 - 控制流
- 控制流和錯誤處理
- 維基百科上的控制流