次のコードがあります。このコードには、 というクラスがあり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 関数を自動的に呼び出すことは可能ですか? はいの場合、どのように?