JavaScript 函式與變數

函式在 JavaScript 是一種相當特殊的元素,它是物件,但又與一般的物件不同,首先,你可以將函式當作一個值,指定給特定的變數,如下式:

var x=f ; 

其中 x 是一個變數,而 f 則是預先定義的函式,接下來你可以透過變數 x 調用此函式,例如以下的程式碼:

x() ;

考慮以下的程式碼:

function add(x, y) {
    return x + y;
}
var a = add;
a(100,200);

最後調用 a 輸出結果為 300 。如你所見,函式本身可以當作一個值來處理,而它自己也能建立自己專屬的屬性,這對於某些專屬的區域變數設計特別的有用,先來看相關作法:

f.message = pvalue ;
function f() { };

其中的 pvalue 是一個特定的值,例如字串、數字,甚至其它的物件等等,一旦你這麼作,這個屬性就只會屬於此函數 f 。接下來我們就可以透過 f 存取 message 這個屬性值,來看一段範例程式碼如下:

f.message = 'Hello';
function f() { };
var a = f;
a.message += ' JavaScript !';
console.log(a.message);

第1行將字串 Hello 設定給函式 f 的 message 屬性,接下來定義 f 函式主體,將 f 設定給變數 a ,如此一來, a 參照至 f 函式, a.message 則會取得 Hello 這個字串,因此將其與另外一個 JavaScrtip 字串合併,以下為輸出結果:

Hello JavaScript !

除了屬性,我們當然可以進一步為此函式建立其專屬的方法,而這一部份牽涉另外一個原型(prototype)概念,後續討論 JavaScript 物件的文章,我們繼續作說明。


沒有留言: