23-1

若要能建立大型應用程式,程式碼就要模組化(Modularized)以便提高其重複使用度(Reusability)。因此在撰寫 WSH 的程式碼時,我們就應該注意程式碼的重複性,並設法將重複出現的部分寫成函數(或稱函式),以便重複使用。

以 WSH 為例,下列範例可使用函數 sum() 來算出由 1 加到 n 的總和:

原始檔(sum01.js):(灰色區域按兩下即可拷貝)
// 使用函數計算由 1 加到 n 的總和

function sum(n) {
	var i, total=0;
	for (i=1; i<=n; i++)
		total = total + i;
	return(total);
}

n = 40;
WScript.Echo("1+2+...+" + n + " = " + sum(n) + "\n");

執行後所顯示結果如下:

1+2+...+40 = 820 在 WSH 中,函數的定義可以放在同一個檔案的任何處,因此我們也可以先呼叫此函數,然後再定義函數,範例如下:

原始檔(sum02.js):(灰色區域按兩下即可拷貝)
// 使用函數計算由 1 加到 n 的總和

n = 40;
WScript.Echo("1+2+...+" + n + " = " + sum(n) + "\n");

function sum(n) {
	var i, total=0;
	for (i=1; i<=n; i++)
		total = total + i;
	return(total);
}

執行後所得到的結果是相同的。

相同功能的函數,若用 VBScript 來撰寫,程式範例如下:

原始檔(sum01.vbs):(灰色區域按兩下即可拷貝)
' 使用函數計算由 1 加到 n 的總和

function sum(n)
	dim i, total
	total = 0
	for i = 1 to n
		total = total + i
	next
	sum = total
end function

n = 40
WScript.Echo("1+2+...+" & n & " = " & sum(n) & chr(13) & chr(10))

執行後所得到的結果是一樣的。

同樣的,在使用 VBScript 於 WSH 時,也可以將函數的定義放到後面,在此不再贅述。


JScript 程式設計與應用:用於單機的 WSH 環境