6

実行するために呼び出す必要のある関数を宣言しているように見えるコードを見ています。この関数は無名関数内で宣言されています。これは、このブロックの外側では関数にアクセスできないことを意味しませんか?

(function () {
    var _d = vjo.dsf.EventDispatcher;
    var _r = vjo.Registry;

    function $1(p0) {
        return function (event) {
            return this.onSubmit(p0, event);
        };
    };
})();

なぜ誰かがこれをするのでしょうか?$このコードの目的/関連性がわかりません。

4

2 に答える 2

10

「これは、このブロックの外側では関数にアクセスできないことを意味しませんか?」

はい、そうです。

「なぜ誰かがこれをするのですか?」

通常、内部使用のみのコードが含まれているため、この例では、関数が呼び出されることはありません。

「私はこのコードの「$」の目的/関連性を持っていません。」

関連性はありません。ちょうど別の有効な可変文字。

于 2012-12-01T01:08:46.313 に答える
1

あなたが投稿した例は、エラーがあるものの、javascriptで「モジュール」を書く一般的なパターンを示しています。$ 1が呼び出されることはなく、プライベートです。つまり、$1は存在しない可能性があります。ただし、有効な例では、$1および場合によっては他の関数を呼び出す追加のコードがあります。次に、このコードが含まれていると、すべてが評価されますが、グローバル名前空間は宣言で汚染されません。

于 2012-12-01T01:10:59.700 に答える