2011-06-03 32 views
1

兩個「這個」變量我想Function.prototype的一個自定義的方法擴展:訪問在Function.prototype的

Function.prototype.myMethod = function() { 
    var fn = this; 
    var owner = ???; 
    /** ... */ 
}; 

this在該範圍指的是原有的功能。但是,如何訪問this指的是「擁有」該功能的對象(或任何外部的this在調用fn時)?

+2

我覺得你可以不知道,因爲你實際上不叫「原始」功能。無法知道函數是否分配給屬性。你想做什麼?也許有比擴展'Function.prototype'更好的方法。 – 2011-06-03 15:07:24

+0

我正在嘗試執行以下操作: 'Function.prototype.future = function(){var fn = this; var owner = ???;返回fn.bind(owner,arguments); };' – kpozin 2011-06-03 15:13:15

+1

不存在「兩個'這個''變量。」您唯一的選擇是將其作爲參數傳入。 – Pointy 2011-06-03 15:15:41

回答

1

您需要將它作爲參數傳遞給函數調用......不確定這是否可以用於特定用途。

myMethod(this); 

function myMethod(parent) { 
    // ...