Function - 對Function類的擴展
Prototype對Function對象的擴展比較簡單, 但卻是非常重要且非常有用的擴展。擴展主要包括2個方法, 他們被加到了Function.prototype中, 這樣就使得任意的函數對象都具備了這兩個方法。 這兩個方法的主要用途在于將某個函數綁定到特定的函數之上去執行。
Knowledge Prepare - 知識準備
Source View - 源碼解析
Function.prototype.bind = function() {
var __method = this;
var args = $A(arguments);
var object = args.shift();
return function() {
return __method.apply(object, args.concat($A(arguments)));
}
}
Function.prototype.bindAsEventListener = function(object) {
var __method = this;
return function(event) {
return __method.call(object, event || window.event);
}
}
Field & Function Reference - 屬性方法一覽
Function ( 實例 ) - 擴展
Method / Property |
Kind |
Arguments |
Description |
bind(object[, arg1, arg2...]) |
方法 |
object:目標對象, 函數將綁定到該對象上去執行
argument list: 以參數列表的方式傳入, 函數執行時所帶的參數 |
一個實例方法, 其調用者是一個函數對象, 表示將某個對象綁定到該函數上去執行, 其中的第一個參數表示目標對象, 其他參數將作為函數執行時的參數傳入 |
bindAsEventListener(object) |
方法 |
object:目標對象 |
一個實例方法, 其調用者是一個函數對象, 表示將某個對象綁定到該函數上去執行, 參數為目標對象, 在函數執行時將全局的Event對象作為參數傳入 |
Analysis & Usage - 分析與使用
------君臨天下,舍我其誰
------