0

次のコードがあります。このコードには、 というクラスがありfuncます。内部funcには、3つの機能がありますinit, func1 and func2。次に、前にinit関数を呼び出していますreturn object literal。したがって、このクラスの新しいインスタンスを作成するvar f = new func()と、関数が自動的に呼び出されるinitため、手動で呼び出す必要はありません。したがって、クラスの新しいインスタンスが作成されると、他のオブジェクト指向言語のコンストラクターと同様に、コンストラクターが自動的に呼び出されます。

ここにコードがあります

var func = function () {
    var a, b,
        init = function () {
            a = 1;
            b = 2;
        },

        func1 = function () {

        },

        func2 = function () {

        };

    init();

    return {
        func1: func1,
        func2: func2
    };
};

var f = new func();

次のシナリオで、上記とまったく同じことをしたいと思います。つまり、オブジェクトinit内の関数を呼び出すたびに、関数が自動的に呼び出されるようにする必要がありfuncます。

var func = {
    init: function () {

    },

    func1: function () {

    },

    func2: function () {

    }
}

func.func1();

上記のシナリオで func オブジェクト内の関数を呼び出すたびに init 関数を自動的に呼び出すことは可能ですか? はいの場合、どのように?

4

2 に答える 2