Function.prototype.call 呼叫函式

Function.prototype.call:

Function.prototype.call是函式物件的方法,用來呼叫函式,與一般呼叫函式的方式不同的地方是,call方法可以指定函式中的this值。call方法與另一個函式物件方法apply十分類似,唯一的不同點是,call方法傳遞參數的方式是個別傳送,而apply方法則是將所有參數放在一個陣列中來傳送。

閱讀全文:Function.prototype.call 呼叫函式

Function.prototype.apply 呼叫函式

Function.prototype.apply:

apply是函式物件的方法,可以用來呼叫函式,並且指定函式內 this 的值。apply方法會將原函式的參數以陣列方式表示,在ECMAScript 5中,也可以是個類似陣列的物件,譬如說Arguments物件。apply方法與call方法十分類似,差別在於call方法傳遞參數的方式是個別傳送,而apply方法則是將所有參數放在一個陣列中來傳送。

Function.prototype.apply的語法:

functionobj.apply(thisArg[, argsArray])

閱讀全文:Function.prototype.apply 呼叫函式

Arguments 物件

Arguments 物件:

Arguments物件是一個類似於陣列的物件,用來對應於函式的輸入參數。Arguments物件僅能在函式中使用,用來取代原本的函式屬性 Function.arguments。若是在函式外使用此物件會引發錯誤。

閱讀全文:Arguments 物件

Function.arguments 函數參數

Function.arguments 函數參數:

arguments是函式物件的屬性,與函數的輸入參數有關,不過這屬性已經廢棄。不再使用。'

請參考 arguments物件作為代替。

如果你想更了解其他函式觀念,可以參考看看下面這篇文章:函式 Function

我把許多函式的觀念與用法都收集在這篇文章內。

閱讀全文: Function.arguments 函數參數

Function.length 函式參數個數

Function.length 函式參數個數:

length 是函式物件(對象)的屬性,此屬性用來取得函式物件預定收到的參數值,這裡要注意,是預定收到,而是不是實際收到。由於Javascript支援可變長度的參數。因此實際輸入的參數是可以大於預定收到的參數個數。若是要取得實際的參數值請使用arguments物件

閱讀全文:Function.length 函式參數個數

回呼函式(callback function)

回呼函式:

所謂的回呼函式其實就是 " 將函式當作另一個函式的參數,由另外的函式來呼叫 "。

回呼函式其實十分常見,譬如在Javascript中監聽事件的添加,setTimeout 與 setInterval,或是陣列物件中的filter。

下面是一個添加監聽事件的例子:

當按下鍵盤按鍵時會取得鍵盤碼。

閱讀全文:回呼函式(callback function)