8

2つの関数をエクスポートするnode.jsモジュールを作成していて、一方の関数をもう一方の関数から呼び出したいのですが、未定義の参照エラーが表示されます。

これを行うためのパターンはありますか?プライベート関数を作成してラップするだけですか?

次にいくつかのサンプルコードを示します。

(function() {
    "use strict";

    module.exports = function (params) {
        return {
            funcA: function() {
                console.log('funcA');
            },
            funcB: function() {
                funcA(); // ReferenceError: funcA is not defined
            }
        }
    }
}());
4

1 に答える 1

9

私はこのように好きです:

(function() {
    "use strict";

    module.exports = function (params) {
        var methods = {};

        methods.funcA = function() {
            console.log('funcA');
        };

        methods.funcB = function() {
            methods.funcA();
        };

        return methods;
    };
}());
于 2012-08-23T12:23:17.097 に答える