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