2017-07-03 10 views
-1

から取得します。親オブジェクトを関数

+0

なぜ 'e'をパラメータに渡し、' call'関数で 'e.exec() 'を呼び出さないのですか? – Nicolas

+1

これは不可能です。なぜメソッドへの参照を渡し、それが属するオブジェクトを取得したいのですか? – PeterMader

+3

あなたが 'call(f)'のスコープに入っている時までに 'e'への参照は失われます。 'e'への明示的な参照を含めるように関数宣言を変更しない限り、これは不可能です。 –

答えて

0
call.call(e,e.exec);//call 

あなたはコンテキストを渡すことができ

class E 
{ 
    exec() 
    { 
    } 
} 

let e=new E(); 

function call(f) 
{ 
    //how to get e? 
} 

call(e.exec);//call 

私は「E」のプロパティを操作するための関数で一連の操作を実行したいと思い

...

それとも、直接渡すe

class E { 
    exec(){ } 
} 
let e=new E(); 

function call(f,p) 
{ 
    //e=f 
    f[p](); 
} 

call(e,"exec");//call 
関連する問題