0

こんにちは、私は JavaScript が初めてで、誰かのコードを維持しようとしていますが、彼らが何をしているのかわかりません。

彼らは次のように関数を宣言しているようです:

(function(Module) {
    Module.register(...) {
       ....
       return ...;
    };
    Module.register(...) {
       ....
       return ...;
    };
 }(hb.Core));

Module.register を 2 回呼び出す関数を作成したい場合 (これは彼らがやろうとしていると思います)、次のようにしませんか?

function myFunction(Module) {
     Module.register(...) {
        ...
     };
     Module.register(...) {
        ...
     };
}
myfunction(Module);

また、これが本当に関係があるかどうかはわかりませんが、彼らはサンドボックス モデルを使用しています (さまざまなモジュールがサンドボックスを介してのみアプリケーション コアと通信します)。

誰かが助けてくれることを願っています。私はJavascriptとフロントエンド開発全般に本当に慣れていないので、非常に混乱しています。

4

2 に答える 2

2

重複javascriptの自己実行関数の目的は何ですか?

これは自己実行型の無名関数呼び出しです。あなたの例は、関数に名前を付けて匿名ではなくなった関数宣言です。自己実行関数は、変数のスコープを設定して、自己実行関数内のすべてのユーザーのみが使用できるようにする必要がある場合に使用されます。

于 2013-03-19T17:58:53.143 に答える
0

その機能のことなら

(function(Module) {}(hb.Core));

これは、パラメーターhb.Coreの値を受け取る自己呼び出し関数です。ModuleJavaScript関数ではスコープを宣言するため、これが上記の主な理由です。

その関数内の変数は、それの外側ではアクセスできません。つまり、そのスコープの外側を意味します

于 2013-03-19T18:00:43.183 に答える