跳去內容

子程式

出自維基百科,自由嘅百科全書
(由子程序跳轉過嚟)
  呢篇文章講嘅係編程上用嘅技術。假如你想揾嘅係數學概念,請睇「函數」。

子程式英文function粵音:fang1 seon4 [1]),又叫子程序,亦有叫函數,喺編程上係指大型程式當中特定嘅一柞程式碼,由一句或者多句陳述式組成,專門完成某項工作,而且獨立於子程式外嘅陳述式。通常用嚟教個程式做一啲要重複做若干次嘅工作。

概念

[編輯]

例如係以下呢段虛擬碼,就會令個程式行子程式 a 三次,等個程式員唔使將子程式 a 段碼寫三次[2]

  子程式 a
    ... 喺依道講好個子程式做乜...

  行子程式 a
  行子程式 a
  行子程式 a

噉做除咗慳位,第時想更改源碼嗰時亦會方便啲:假如編程員將同一段碼寫三次,將來想改嘅時候就要逐段逐段改,改三次;用咗子程式,就只係需要改個子程式入便嘅碼,改一次。

應用

[編輯]

以下係用 JavaScript 展示子程式嘅示範:

let globalVar = "我係 Global";

function FangSeon() {
let localVar = "我係 Local";

console.log(globalVar); // 成功:讀到全域變數
console.log(localVar);  // 成功:讀到局部變數

}

FangSeon();

console.log(globalVar); // 成功
console.log(localVar);  // 呢行會引致 error,因為喺呢度 localVar 係唔存在嘅。

最後嗰行會引致錯誤,係因為喺 JavaScript 嘅子程序之中用 let 嚟設定變數,個變數會自動設成以嗰個子程序為作用域,由於 localVar 係喺 FangSeon 呢個子程式入便設定嘅,佢喺個子程式以外嘅地方唔存在,喺個子程式以外嘅地方想用佢,就會出錯[3]

價值

[編輯]

寫程式嗰陣用子程式嚟處理一啲要做好多次嘅工作,有助達致模塊化

睇埋

[編輯]

引述

[編輯]
  1. English Loanwords in Hong Kong Cantonese,佢哋呢度有收錄,打 function 可以搵到。
  2. Wheeler, D. J. (1952). "The use of sub-routines in programmes". Proceedings of the 1952 ACM national meeting (Pittsburgh) on - ACM '52.
  3. Javascript Interview Q/A Part 3: Var, Let, and Const., Medium.