2016-08-12 7 views

答えて

0

これを行う便利な方法はありません。あなたは、「メソッド」として

をその関数を呼び出すように、あなたは何が起こることは、あなたが「関数として」その関数を呼び出しているということである、オブジェクトを作成し、それを参照として使用することができ、機能自体はあなたのものとは異なります輸出している。

この読書は私が言ったことの詳細を明らかにすることができます。 Understanding 'this' keyword

+0

ハム私は申し訳ありませんが、それは私の質問に答えるだけでなく、私はまた間違っていると信じています。私が輸出している機能は、その起源とまったく同じです。この問題は、この参照を介して、またはローカルスコープを通じてfaがどのように解決されるかにあります。私は 'this 'に対処する方法を知っていますが、私はどのように関数スコープを変更するのか分かりません。 'bind'や' with'キーワードを使って新しい文脈を束縛することはできません。 – tibo

+0

あなたは同じ機能です。しかし、あなたがmyModule.faのモックを行うとき、 "fa"関数はmyModuleオブジェクトに属します。 myModule.fb()を呼び出すと、faファンクションはmyModuleオブジェクトに属しません。ファンクションとして呼び出すためです。 –

+0

これらの参照の問題に直面していないため、 'this'キーワード、私は通常のように私のコードを書く: var exportObject = {}; exportObject.fa =ファンクションfa(){ return 'function A'; }; exportObject.fb = function fb(){ return 'function B +' + exportObject.fa(); }; module.exports = exportObject; –

関連する問題