2016-11-25 3 views
0

すなわち:コードを繰り返さずに式に宣言関数を割り当てるにはどうすればよいですか?

function A() { 
    //code inside here that I don't want to repeat. 
}; 

self.A = A; 

私は何でもすると、そのフォームを呼んだことを行う場合には、もはや動作します、と私は別のファイルからの機能にアクセスできるように、私は自己表現を必要とするので、私は、宣言的な形式の機能の名前を変更することはできません。

+1

私が表示されませんあなたはコードを繰り返していますか?確かに 'A'を書くことは複写とみなすことはできないのですか? – trincot

+0

A()はその中に何かを持っていますが、何が入っているのかは関係ありません。私はちょうど内部にあるものを複製したくありません... – joe

+0

しかし、あなたは 'A()'を1回だけ持っていますか?何が問題ですか? – trincot

答えて

0

あなたがプロパティとして関数名を繰り返したくない場合は、短縮形のプロパティ名とObject.assignとオブジェクト初期化子を使用することができます。

(() => { 
 
    function A() { } 
 
    Object.assign(self, {A}); 
 
    console.log(self.A === A); // true 
 
})();

+0

私はAMDモジュールにアクセスできません。これを行うより良い方法はありますか? – joe

関連する問題